- flake.nix pins the full toolchain (asciidoctor + pdf/epub3/diagram/
mathematical, plantuml, graphviz, jre, vale, epubcheck) via bundlerEnv
- Gemfile/Gemfile.lock/gemset.nix lock the Ruby gems; work around the
vendored mtex2MML cmake_minimum_required incompatibility
- 'nix build' produces book.pdf + book.epub; 'nix develop' gives a shell
where all existing make targets work
- CI/CD workflows now install Nix and build/lint/validate through the flake
- devcontainer uses Nix; add .envrc for direnv; document in README
Co-authored-by: Shelley <shelley@exe.dev>
Recurse into source subdirectories and print a total, backported from
em_book. The previous 'wc -w source/*' only counted top-level files and
errored on subdirectories.
- Use find to recurse and sort output for stable ordering
- Print a running total
- Reference SOURCE_FOLDER instead of hardcoded 'source'
- Set SHELL := /bin/bash (needed for process substitution)
- Add .PHONY declarations
Co-authored-by: Dunya Kirkali <exedev@writting.exe.xyz>
Co-authored-by: Shelley <shelley@exe.dev>
Backported from em_book's CI. Adds a 'make epubcheck' target that builds
the EPUB (via its dependency) and validates it with EPUBCheck, so authors
can catch EPUB issues locally before publishing.
- New epubcheck target depending on the EPUB path
- Document it in the README
- Add .PHONY declarations
Co-authored-by: Dunya Kirkali <exedev@writting.exe.xyz>
Co-authored-by: Shelley <shelley@exe.dev>