House rules
House rules
David MacKay's Sustainable Energy — Without the Hot Air, as plain markdown, published by Flowershow at https://withouthotair.org. The repo root is the publish root: the markdown files are the site. There is no application code.
Split out of life-itself/climate in August 2026, with that repo's full history
preserved — early commits touch climate content that no longer lives here.
The done condition
scripts/verify.sh
Exit 0 means the tree is structurally sound: frontmatter parses, links and
embeds resolve, every referenced figure exists, config.json is valid, no Git
LFS pointers. scripts/init.sh brings a cold checkout to that point.
Guard rails
- Know which kind of change you are making.
extract.pyproduced the chapter markdown fromwithout-hot-air.epub, but that was a one-time conversion — the markdown is the source of truth now, which is the whole point of a community edition, and every page carries an "Edit this page" link inviting exactly that.- Conversion or formatting faults — mangled markup, a botched figure path,
a heading that came through wrong — are bugs in
extract.py. Fix the script and re-run its relevant stage, so the fix applies everywhere. - Content corrections and updates — a wrong number, a dated claim, a typo in MacKay's text — are edited in the markdown directly. They are the work this project exists to enable.
- Consequently, a full re-extraction is now a destructive operation: it
would overwrite accumulated corrections. Treat
etl()as historical.python extract.py titlesis safe and idempotent.
- Conversion or formatting faults — mangled markup, a botched figure path,
a heading that came through wrong — are bugs in
- Never weaken, skip, or delete a check to make it pass.
- Never rewrite or force-push
main. - The licensing is not yours to reword. MacKay's original text is CC
BY-NC-SA 2.0 UK; the cartoons and credited photographs are excluded from that
licence entirely. Additions by others are dual-licensed. Carry the License and
Credits sections of
README.mdverbatim — do not paraphrase, tidy, or summarise them. - Preserve the text. This is a preservation project first. Do not silently modernise MacKay's prose, figures, or numbers. A revised edition is a deliberate, separately-marked act — not a side effect of a cleanup.
Conventions
- Chapters are flat at the repo root;
assets/holds all 384 figures. - Internal links are wikilinks (
[[chap01]]). - Chapters carry no frontmatter — their
#heading supplies the title, and adding frontmatter by hand would mean editing generated files. - No Git LFS.
- Commit messages:
[scope/N][size]: subject.