docs: automated documentation pipeline (per-symbol source → pages)
Some checks failed
docs / build-and-deploy (push) Failing after 38s
Some checks failed
docs / build-and-deploy (push) Failing after 38s
Replace the hardcoded landing page and minimal reference with a generated documentation site driven by a single source of truth. - docs/language/**: one file per symbol (93 keywords/types/builtins/namespace methods/operators/annotations), each with front-matter (id, kind, tokens, sig, tip) + description + a ```ludic example. Seeded by exploding the former inline SECTIONS list; these files are now the source of truth. - docs/site/: site.json (editable hero/features/showcase/messaging, not hardcoded) + snippets/*.ludic (real programs shown on the landing page). - tools/docgen/gen.py: generates index.html, api.html, ludic-highlight.js and symbols.json. The highlighter's symbol tables, hover tips and jump anchors are GENERATED from the per-symbol files — add a symbol and it is recognized, tipped and linked in every snippet automatically. Python stdlib only. - tools/docgen/check.py: verifies the pages contract + that no snippet token links to a missing reference anchor. - .forgejo/workflows/docs.yml: rebuilds and publishes to the pages branch on every push to main touching the docs sources. Consumes the new Screen.*/Color.*/named-arg API and the 221-color palette. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
a3a1e4d160
commit
51ddfa3ce9
121 changed files with 3827 additions and 0 deletions
7
docs/language/ecs/_section.md
Normal file
7
docs/language/ecs/_section.md
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
id: ecs
|
||||
title: Entities & the ECS
|
||||
order: 1
|
||||
---
|
||||
|
||||
Entities are ids; properties are their data; queries walk them.
|
||||
12
docs/language/ecs/fn-world_get.md
Normal file
12
docs/language/ecs/fn-world_get.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
id: fn-world_get
|
||||
name: world_get / world_set / world_has …
|
||||
category: ecs
|
||||
kind: builtin
|
||||
tokens: world_get world_set world_has world_count world_spawn
|
||||
sig: world_get(entity, prop, field) -> int
|
||||
tip: The reflection ABI: read and write the world by numeric id, for tools and mods.
|
||||
order: 8
|
||||
---
|
||||
|
||||
The reflection ABI: read and write the world by numeric id, for tools and mods. See also world_count, world_spawn.
|
||||
12
docs/language/ecs/kw-attach.md
Normal file
12
docs/language/ecs/kw-attach.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
id: kw-attach
|
||||
name: attach
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: attach
|
||||
sig: attach Prop on entity { overrides }
|
||||
tip: Add a property to a live entity.
|
||||
order: 6
|
||||
---
|
||||
|
||||
Add a property to a live entity.
|
||||
12
docs/language/ecs/kw-despawn.md
Normal file
12
docs/language/ecs/kw-despawn.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
id: kw-despawn
|
||||
name: despawn
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: despawn
|
||||
sig: despawn entity
|
||||
tip: Remove an entity.
|
||||
order: 1
|
||||
---
|
||||
|
||||
Remove an entity. Inside a query, <code>despawn self()</code> removes the current match.
|
||||
12
docs/language/ecs/kw-detach.md
Normal file
12
docs/language/ecs/kw-detach.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
id: kw-detach
|
||||
name: detach
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: detach
|
||||
sig: detach Prop on entity
|
||||
tip: Remove a property from a live entity.
|
||||
order: 7
|
||||
---
|
||||
|
||||
Remove a property from a live entity.
|
||||
12
docs/language/ecs/kw-disable.md
Normal file
12
docs/language/ecs/kw-disable.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
id: kw-disable
|
||||
name: disable
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: disable
|
||||
sig: disable Prop on entity
|
||||
tip: Deactivate a property without destroying its data.
|
||||
order: 5
|
||||
---
|
||||
|
||||
Deactivate a property without destroying its data. Also <code>disable Model</code> / a whole handler.
|
||||
12
docs/language/ecs/kw-enable.md
Normal file
12
docs/language/ecs/kw-enable.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
id: kw-enable
|
||||
name: enable
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: enable
|
||||
sig: enable Prop on entity
|
||||
tip: Re-activate a disabled property; its stored values are intact.
|
||||
order: 4
|
||||
---
|
||||
|
||||
Re-activate a disabled property; its stored values are intact.
|
||||
16
docs/language/ecs/kw-query.md
Normal file
16
docs/language/ecs/kw-query.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
id: kw-query
|
||||
name: query
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: query
|
||||
sig: query [PropA, PropB, {Tag}]
|
||||
tip: Match every entity that carries all listed properties.
|
||||
order: 2
|
||||
---
|
||||
|
||||
Match every entity that carries all listed properties. Use it in <code>for (a, b) in query […]</code>; a <code>{Tag}</code> filters without binding.
|
||||
|
||||
```ludic
|
||||
for (p, s) in query [Pos, Seg] { … }
|
||||
```
|
||||
12
docs/language/ecs/kw-self.md
Normal file
12
docs/language/ecs/kw-self.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
id: kw-self
|
||||
name: self
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: self
|
||||
sig: self()
|
||||
tip: The entity currently bound by the enclosing query.
|
||||
order: 3
|
||||
---
|
||||
|
||||
The entity currently bound by the enclosing query.
|
||||
16
docs/language/ecs/kw-spawn.md
Normal file
16
docs/language/ecs/kw-spawn.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
---
|
||||
id: kw-spawn
|
||||
name: spawn
|
||||
category: ecs
|
||||
kind: keyword
|
||||
tokens: spawn
|
||||
sig: spawn Label { Prop { field: v }; … }
|
||||
tip: Create an entity carrying the listed properties (or a model).
|
||||
order: 0
|
||||
---
|
||||
|
||||
Create an entity carrying the listed properties (or a model). The label is for readability.
|
||||
|
||||
```ludic
|
||||
spawn Body { Seg { order: 1 }; Pos { x: 9, y: 7 } }
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue