Personal landing page, including booklist management.
- SDKMAN!
- JDK 17, e.g.
sdk install java 17.0.2-open
- JBang, e.g.
sdk install jbang
- hugo
- go-task
- Pagefind (see Decision: Assume
pagefind
inPATH
or aliased)
Optional
To automated synopsis extraction (via task new.book:synopsis
):
To run broken link checks (via task namespace maintenance:broken-links.*
):
A lot of Copy & Paste action is involved when managing book content. Using a clipboard manager will improve the workflow.
task dev:run
Managing book content is performed by using go-task via command line interface.
To list all available commands and a short description, execute the following command:
task --list-all
To display help of a command, e.g. about required variables and usage examples,
use go-task's --summary
command line option. For example:
task --summary book:completed
Currently, fetching bibliographic data is supported for german and english books. The ISBN 13 indicates, which language space the book was published in:
- ISBN beginning with 978-3 indicates a book published in german language area.
- ISBN beginning with 978-1 indicates a book published in english language area.
Fetching bibliographic data is different for those language areas, and you have to choose the correct command.
For german books, support for IDN identifiers of Deutsche Nationalbibliothek is available.
Motivation: Some tools and apps don't use properly formatted ISBN 13 values. I want to have that in this project. Therefore, a JBang script exists to support this right away from the CLI.
Run the following command, replace 9783442735648
with your ISBN:
> jbang ./script/isbn13.java 9783442735648
< 978-3-442-73564-8
Currently, a wave of cease-and-desist letters is rolling over Germany. This may affect website providers when loading Google Fonts from Google servers. To be spared from this, the fonts and stylesheets were compiled and generated using google-webfonts-helper and are included in the VCS of this project.
The font packages are compiled by using the latin charset only. The used styles are constrained to the regular, italic, 700 and 700italic if available. For CSS generation the "Best Support" option was used.
I opted in to use Pagefind as a
precompiled binary instead of managing installation of a Node.js stack at my
local machine. The binary is located in a directory made available to PATH
.
The task dev:run
assumes pagefind
is made available that way, or an alias
pagefind
of npx pagefind
exists.