2023-12-28 01:48:58 +01:00
|
|
|
## Requirements
|
|
|
|
|
2024-01-08 09:01:22 +01:00
|
|
|
- [`chordpro`](https://github.com/ChordPro/chordpro/)
|
2023-12-28 01:48:58 +01:00
|
|
|
- `ghostscript`
|
2024-02-06 14:18:25 +01:00
|
|
|
- `zola` (optional)
|
2023-12-28 01:48:58 +01:00
|
|
|
|
2024-06-01 11:52:42 +02:00
|
|
|
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"
|
|
|
|
```
|
|
|
|
|
2023-12-28 01:48:58 +01:00
|
|
|
## Building
|
|
|
|
|
2024-06-03 09:54:05 +02:00
|
|
|
`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
|
2023-12-28 01:48:58 +01:00
|
|
|
|
2024-01-08 09:01:22 +01:00
|
|
|
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
|
|
|
|
```
|
2024-02-06 14:18:25 +01:00
|
|
|
|
|
|
|
### 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.
|
2024-05-30 09:11:15 +02:00
|
|
|
|
|
|
|
## 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.
|