- LilyPond sheet music engraving system
- Go programming language
- TailwindCSS CSS framework
- PageFind static full-text search
- HTML validate offline HTML validation
# Engrave pieces with LilyPond
yay -S ghostscript gsfonts fontforge t1utils texlive-{metapost,langcyrillic}
# Upload scores to Cloudflare R2 object store with rclone
yay -S rclone
# Style the website with TailwindCSS
bun install tailwindcss
# Index the website for searching with pagefind
yay -S pagefind
# Validate the website HTML locally with html-validate
bun install html-validate
bunx html-validate --formatter codeframe site/public/index.html \
site/public/piece/Largo-c3bd/index.html \
site/public/catalog/level/elementary-a/1/index.html
# Serve the website locally with Caddy
yay -S caddy
caddy run --config site/Caddyfile
# Deploy the website to Cloudflare Pages with wrangler
bun install wrangler
bunx wrangler pages deploy site/public --project-name bayanguru --branch main
Fish completions
go install github.com/volodymyrprokopyuk/bayanguru
./bayanguru completion fish > ~/.config/fish/completions/bayanguru.fish
Piece ID generation
tr -dc a-z0-9 </dev/urandom | head -c 4