57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
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.
|