My personal guitar chord-book written in ChordPro. https://mixtape.0x45.cz
Go to file
2024-06-01 11:52:48 +02:00
.gitea/workflows CI: Use custom image 2024-03-30 00:30:08 +01:00
content Various fixes 2024-05-13 18:51:42 +02: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 Integrate Zola 2024-02-06 14:18:25 +01:00
config.toml Integrate Zola 2024-02-06 14:18:25 +01:00
makefile Integrate Zola 2024-02-06 14:18:25 +01:00
manage Add editing options 2024-05-31 13:18:52 +02:00
readme.md Describe Docker usage 2024-06-01 11:52:48 +02:00

Requirements

You can install ChordPro directly on your machine, or use Docker with the official iamge chordpro/chordpro:latest. It can be seamlesly integrated with a shell alias:

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

This will not function with the included makefile, so you will have to export this as a shell function (for example in .bashrc):

chordpro() {
	docker run -ti --rm --env HOME=$HOME --env USER=$USER --workdir "$(pwd)" --volume "$HOME:$HOME" chordpro/chordpro:latest chordpro "$@"
}
export -f chordpro

Building

make defaults to all which builds individual PDF and HTML files for all songs. It also builds one complete PDF songbook with all songs.

Available targets: all, pdf, html, clean

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.