Commit Graph
11 Commits
Author SHA1 Message Date
Abdessamad Derraz 583031eda5 refactor: plain documentation theme for the site
No gradient banner, no coloured stripes or dots beside cards, no lifting cards, pill badges or small-caps headers. File blocks are separated by a rule, tables keep the theme's own size, and headings no longer repeat the site name the header bar already shows. Classes nothing emits were removed.
2026-10-19 05:34:52 +02:00
Abdessamad Derraz bfc7101166 fix: print the declared CRC32 on platform pages 2026-10-18 17:19:58 +02:00
Abdessamad Derraz d5dd16dbdb fix: give the home page a descriptive title 2026-10-18 17:19:25 +02:00
Abdessamad Derraz e56621de42 fix: announce the sitemap from each page 2026-10-18 17:19:09 +02:00
Abdessamad Derraz 19f02312ce docs: map every test module and the check 2026-10-18 16:22:54 +02:00
Abdessamad Derraz 211ce0bf16 chore: install every test dependency in CI 2026-10-18 14:58:44 +02:00
Abdessamad Derraz 99b049fa96 fix: catch indented hashes in wiki sources 2026-10-16 16:58:43 +02:00
Abdessamad Derraz 20937e688b fix: print platform detail lists as plain text 2026-10-04 22:04:01 +02:00
Abdessamad Derraz 14975ce5da fix: keep an issue number from opening a heading 2026-10-04 20:02:34 +02:00
Abdessamad Derraz 9ea6083b8a fix: show path placeholders and hash lists on site pages 2026-10-04 18:07:18 +02:00
Abdessamad Derraz 5d417c8229 feat: add data contract validation
JSON Schemas for the database, install and pack manifests, target
manifests, site API envelopes and stats, plus the semantic invariants a
schema cannot express: declared totals matching their lists, no
destination both installed and omitted, database keys matching their
sha1. validate_site.py checks the rendered HTML for metadata, headings,
image alternatives, duplicate ids and unresolved local links.

Pack manifests are read from inside the generated archives, where
generate_pack writes them, rather than from a dist/ glob that matches
nothing.

Emulator and platform schemas gain additionalProperties: false, and
cores[] plus contents[].name must be strings: an unquoted 81 or 01 in
YAML parses as a number and stops matching the upstream name.
2026-08-10 13:35:33 +02:00