Commit Graph

7 Commits

Author SHA1 Message Date
Dunya Kirkali
bedaa8e5a2 Fix diagram rendering in Nix builds 2026-08-08 22:52:15 +02:00
Dunya Kirkali
0f64b1133e Add Nix flake for reproducible dev and CI/CD
- 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>
2026-08-08 22:27:23 +02:00
Dunya Kirkali
c0c95fdff5 Improve word count target (#8)
Some checks failed
Continuous Integration / words (push) Has been cancelled
Continuous Integration / lint (push) Has been cancelled
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>
2026-08-08 22:07:18 +02:00
Dunya Kirkali
59ff4fc3a3 Add epubcheck target for local EPUB validation (#9)
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>
2026-08-08 22:05:23 +02:00
Dunya Kirkali
1890774875 Enable vale for prose linting (#3)
* Enable vale in CI

* Add vale config

* Tweak vale

* Update config

* Update .gitignore

* Switch back

* Rename CI

* Add badges

* Tidy up CI

* Change image

* Configure vale

* Delint

* Update README
2024-09-28 22:58:25 +02:00
Dunya Kirkali
4e8f6cde08 Move book.adoc to root 2024-09-06 19:47:31 +02:00
Dunya Kirkali
3eac5aecc4 Add Makefile 2024-07-07 23:05:26 +02:00