Skip to content

Commit 2f110ad

Browse files
TMHSDigitalclaude
andcommitted
docs: entry pages, the renderer's scope, and llms files
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wc67NX9MM964uaVGn4bpZJ
1 parent b5ae25c commit 2f110ad

2 files changed

Lines changed: 19 additions & 4 deletions

File tree

‎CONTRIBUTING.md‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@ One new markdown file is enough — the website rebuilds from frontmatter on dep
3131
6. For `status: active`, include an `## Evidence` line with a short quote from that page.
3232
7. Bump `expectedEntryCount` in [`site/config.json`](site/config.json) by the number of files you added (or lowered if you removed some).
3333
8. Run `node site/validate.mjs` — it must exit 0.
34-
9. Optional 2D/UI fields: `grid_dimensions`, `camera_perspective`, `hardware_tags`, `attribution_string` (see [`TEMPLATE.md`](catalog/TEMPLATE.md)).
35-
10. Add a row to the matching category `README.md`. This is required: the validator fails an entry that is not listed there, and the row's licence cell must match your frontmatter.
36-
11. Optional: add the `id` to `site/config.json` → `featured` to pin it under Safe starting points.
34+
9. Run `node site/build.mjs`. It renders your entry's page and fails if the body uses markdown the site does not support (tables, code fences, blockquotes, images, raw HTML, `###` headings, numbered lists) or links to a file that does not exist.
35+
10. Optional 2D/UI fields: `grid_dimensions`, `camera_perspective`, `hardware_tags`, `attribution_string` (see [`TEMPLATE.md`](catalog/TEMPLATE.md)).
36+
11. Add a row to the matching category `README.md`. This is required: the validator fails an entry that is not listed there, and the row's licence cell must match your frontmatter.
37+
12. Optional: add the `id` to `site/config.json` → `featured` to pin it under Safe starting points.
3738

3839
### Frontmatter rules
3940

‎site/README.md‎

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Static GitHub Pages UI for this catalog.
1212
| `site/config.json` → `featured` | Safe starting points table (`id` + `need`) |
1313
| `site/config.json` → `categories` / `guides` | Labels and guide links |
1414
| `site/public/*` | Page chrome / design |
15+
| An entry's body (Notes, Evidence) | Its page at `entry/<id>/` |
1516

1617
## Public JSON
1718

@@ -26,12 +27,25 @@ and tools that want the metadata without scraping the page. The page itself load
2627
`subcategories`, `license`, `license_spdx` where set, `commercial`,
2728
`attribution_required`, `attribution_string` where set, `formats`, `tags`, `verified`,
2829
`status`, `publisher` where set, and the optional 2D fields), plus `path` (the entry's
29-
file in this repo), `summary` (the first paragraph of its body), and two derived sort
30+
file in this repo), `page` (the entry's page, relative to the site root), `summary` (the first paragraph of its body), and two derived sort
3031
fields, `attributionClass` and `licenseRank`.
3132
- It is regenerated from `catalog/` on every push to `main`. Field names are stable;
3233
new optional fields may appear. The licence facts are only as current as each entry's
3334
`verified` date: re-check the source before you ship on one.
3435

36+
## Entry pages
37+
38+
`build.mjs` writes `entry/<id>/index.html` for every entry from its frontmatter and
39+
body, using `site/lib/markdown.mjs`. The renderer supports exactly what entries use:
40+
`#` and `##` headings, paragraphs, bullet lists (nesting allowed), bold, `*italic*`,
41+
inline code, links and bare URLs. Underscores are literal. Anything else (tables,
42+
code fences, blockquotes, images, raw HTML, `###`, numbered lists) fails the build
43+
with the file and line, as does a relative link to a file that does not exist.
44+
45+
The build also writes `llms.txt` (one line per entry) and `llms-full.txt` (with each
46+
entry's Notes) for AI assistants, and checks every generated page before it succeeds.
47+
Tests: `node site/lib/lib.test.mjs`.
48+
3549
## Social preview
3650

3751
`docs/images/readme/og-card.png` is a 1200x630 screenshot of this site's first screen.

0 commit comments

Comments
 (0)