Live at michaelsavage.ie
Personal site built with React, Typescript, Vite, and @emotion, using eslint for linting. Blog posts written locally with MDX.
To run this application:
pnpm install
pnpm run startTo build this application for production:
pnpm run build
generate a manifest for SEO: https://realfavicongenerator.net/
Integrations tests with Playwright. First setup the hedaless browsers:
pnpm exec playwright installpnpm test
- Styling with Emotion CSS.
Linting and formatting with Eslint and prettier. Eslint is configured using tanstack/eslint-config. The following scripts are available:
pnpm run lint
pnpm run format
pnpm run checkTo generate peaks of an audio waveform, you need to:
- install podman - https://podman.io/
- create an alias in powershell / cmd / zshrc
- move to working directory where the wav/mp3 mix exists and run the following:
awf -i [FILENAME_HERE] -o waveform.json --pixels-per-second 20
Need to add a function to the profile file. CHeck if it exists: Test-Path $PROFILE
If it returns False, create it with: New-Item -Path $PROFILE -ItemType File -Force
Open the profile in your editor: notepad $PROFILE
Add the function at the end of the file:
function awf {
podman run --rm -v "${PWD}:/tmp" -w /tmp realies/audiowaveform @Args
}
Save and close Notepad then either reload the profile or restart PowerShell.
- import dotenv into the top of the file to get access to env vars.
- if a ts file, run:
npx tsx scripts/bulk-guide-insert.ts- otherwise run with node:
node scripts/sort-barcelona.ts