Build Automation

Build & Automation

The build system centers on a Makefile with 40+ targets, backed by 10 maintenance scripts, a Kroki diagram server for rendering, and reMarkable PDF generation for offline study. Every content creation, export, and deployment operation runs through make.

Core Build Targets

Target Purpose

all / build

Start Kroki server, run Antora build, stop Kroki

serve

Build site and serve on localhost:8000

clean

Remove build artifacts (build/ directory)

install

Check dependencies (Node.js, Antora, Kroki, Python)

Content Creation

Target Purpose

new-day

Create today’s WRKLOG with section partial includes

new-mtg

Generate meeting notes template with attendees and agenda sections

Export Formats

Target Purpose

pdf

Generate PDF with theme selection (dark, light, catppuccin)

html

Export standalone HTML

docx

Export Word format

epub

Export e-book format

export

Run all export formats

export-today

Export current day’s worklog in all formats

export-month

Export current month’s worklogs in all formats

Deployment

Push triggers a two-step preflight before syncing to remote:

  1. sync-nav — regenerate nav.adoc from filesystem

  2. update-index — rebuild monthly index pages

  3. git push — Cloudflare Pages auto-builds via the domus-docs playbook

make push

No manual intervention in domus-docs required. Push this spoke repo; the aggregator picks up the change.

Kroki Server

Target Purpose

kroki

Start Kroki containers via domus-docs docker-compose (localhost:18000)

kroki-stop

Stop Kroki containers

kroki-status

Check running state of Kroki services

Kroki is required for rendering D2, Mermaid, PlantUML, and Graphviz diagrams during Antora build. The domus-docs Makefile auto-stops Kroki after build completes (all: diagrams local kroki-stop).

Diagram Generation

Target Purpose

diagrams

Render all diagram formats

diagrams-d2

Render D2 diagrams only

diagrams-dot

Render Graphviz DOT diagrams only

diagrams-mmd

Render Mermaid diagrams only

diagrams-puml

Render PlantUML diagrams only

Source files live in examples/diagrams/. Rendered output writes to images/diagrams/.

reMarkable PDF Tools

Python scripts in scripts/remarkable/ generate formatted PDFs for offline study on reMarkable tablet.

Target Purpose

rm-spanish

Generate vocabulary, grammar, and dashboard PDFs

rm-worklog

Generate current worklog PDF

rm-objectives

Generate objectives tracker PDF

rm-regex

Generate regex drill sheets

rm-certs

Generate certification study material PDFs

rm-ideas

Generate ideas backlog PDF

rm-asciidoc

Generate AsciiDoc reference PDF

rm-mastery

Generate mastery tracker PDF

rm-all

Generate all reMarkable PDFs

rm-upload

Upload generated PDFs to reMarkable via USB/WiFi

Maintenance Scripts

Ten scripts in scripts/ handle navigation, indexing, auditing, and content migration:

Script Purpose

sync-nav.sh

Regenerate nav.adoc from filesystem structure

sync-worklog-nav.sh

Regenerate worklog-specific nav entries

update-carryover-days.sh

Update carryover day counts across worklogs

update-monthly-index.sh

Rebuild monthly index pages from worklog entries

audit-worklogs.sh

Validate worklog structure and completeness

migrate-quijote.sh

Migrate Don Quijote chapter files to standardized format

mdn-cleanup-*.sh (3)

Three scripts for MDN content cleanup and normalization