My personal guitar chord-book written in [ChordPro](https://www.chordpro.org/).

## 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](https://www.getzola.org/).

```
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.
