- LilyPond sheet music engraving system
- TailwindCSS CSS framework
- PageFind static full-text search
- HTML validate offline HTML validation
- Go programming language
- Fish command line shell
Install dependencies
# Build bayanguru command with Go
yay -S go golangci-lint
# Automate bayanguru commands with Fish
yay -S fish
# Engrave pieces and books with LilyPond
yay -S ghostscript gsfonts fontforge t1utils texlive-{metapost,langcyrillic}
# Upload scores to Cloudflare R2 object store with rclone
yay -S rclone
# Style bayanguru website with TailwindCSS
bun install tailwindcss @tailwindcss/cli
# Index bayanguru website for searching with pagefind
yay -S pagefind
# Validate bayanguru website HTML locally with html-validate
bun install html-validate
# Serve bayanguru website locally with Caddy
yay -S caddy
# Deploy bayanguru website to Cloudflare Pages with wrangler
bun install wranglerInstall bayanguru
go install github.com/volodymyrprokopyuk/bayanguru@latestAuthor, engrave, and publish pieces
# Generate random piece ID
tr -dc a-z0-9 </dev/urandom | head -c 4
# Initialize piece source code
./bin/bayanguru engrave pieceID -i
# Initialize lyrics source code
./bin/bayanguru engrave pieceID -i --lyr
# Lint piece source code, engrave piece, optimize piece PDF
./bin/bayanguru engrave pieceID -lo
# Publish piece PDF to Cloudflare
./bin/bayanguru publish pieceID -uBayanguru development workflow
# Lint Go code
./bayanguru.fish lint
# Build Go code
./bayanguru.fish build
# Validate website HTML
./bayanguru.fish validate
# Publish website locally
./bayanguru.fish publish
# Server website locally
./bayanguru.fish serve
# Deploy website to Cloudflare
./bayanguru.fish deploy
# Install bayanguru Fish completions
./bayanguru.fish completions