My personal guitar chord-book written in ChordPro. https://mixtape.0x45.cz
Go to file
Emil Miler d627dc5b77
All checks were successful
Build / build (push) Successful in 2m20s
Carpe Diem
2024-11-11 13:38:39 +01:00
.gitea/workflows Update docker image 2024-10-01 17:44:31 +02:00
content Carpe Diem 2024-11-11 13:38:39 +01:00
sass Scale transition 2024-02-17 15:58:07 +01:00
static Font size scaling controls 2024-02-17 15:53:36 +01:00
templates Basic controls css and autoscroll 2024-02-16 15:59:15 +01:00
.gitignore Integrate Zola 2024-02-06 14:18:25 +01:00
chordpro.json Use new ChordPro RRJSON configuration format 2024-09-04 10:42:10 +02:00
config.toml Update to new build image 2024-06-25 10:53:08 +02:00
makefile Make PDF the default target 2024-06-03 09:56:57 +02:00
manage Add editing options 2024-05-31 13:18:52 +02:00
readme.md Make PDF the default target 2024-06-03 09:56:57 +02:00

My personal guitar chord-book written in ChordPro.

Requirements

  • docker
  • ghostscript (optional for songbook make target)
  • zola (optional for web deployment)

The makefile uses Docker with the official iamge chordpro/chordpro:latest. It can be seamlesly integrated with a shell alias in case you want to use ChordPro directly in your shell outside of make:

alias chordpro="docker run -ti --rm --env HOME=\$HOME --env USER=\$USER --workdir \$(pwd) --volume \$HOME:\$HOME chordpro/chordpro:latest chordpro"

Building

make defaults to pdf which builds individual PDF files for all songs.

Target Description
all pdf, html, songbook
pdf Build individual PDF files
html Build individual HTML files
songbook Build one complete PDF songbook with all songs
clean Remove all generated files

You can also build PDF for a specific page with:

chordpro --config=chordpro.json path/to/song.cho

or build HTML output with:

chordpro --config=chordpro.json -o path/to/song.html path/to/song.cho

Static website output

Futhermore, the project is ready to be compiled into a static webpage using Zola.

zola build

This is done by default during the deploy pipeline.

Song management

The manage shell script lets you do basic song management and saves you some manual labour. Simply run the script itself or invoke help to get a list of all available commands.