Move documentation into the wiki; shrink README to a repo description #74
Labels
No labels
area:defold
area:docs
area:infra
area:protocol
area:testing
kind:bug
kind:chore
phase:breadth
phase:core
phase:hardening
phase:slice
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
yuris/spacetimedb-defold#74
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
README.mdis 1841 lines and serves three unrelated audiences at once: peopletrying to ship a game, people hunting one specific behaviour, and people
hacking on the repo. Move the documentation into the repository wiki and shrink
README.mdto a repo description that points at it.Constraints, established from source rather than folklore
The wiki host is
git.nokopia.com, running Forgejo15.0.1+gitea-1.22.0.No subdirectories for pages.
services/wiki/wiki_path.goat Giteav1.22.6— the version this Forgejo release is built on — replaces/with%2FinWebPathFromRequest, and carries two explicit TODOs(
// TODO: support subdirectory in the future, and onUserTitleToWebPath,// TODO: no support for subdirectory … we do not add the support for writing slashes in title). Corroborated by go-gitea#823, open since 2017 with everyacceptance checkbox unchecked, and an April 2026 report of 500 / Not Found on
markdown links into wiki subdirectories.
→ Page names must be flat.
Dashes in filenames become spaces in titles.
escapeSegToWeb/unescapeSegment:Home-Page.mddisplays as "Home Page". Keeping a literaldash requires Gitea's
.-DashMarker suffix (Foo-Bar.-.md), which is notworth hand-writing. Pick filenames knowing the transform.
Reserved page names:
_pages,_new,_edit,raw. A path ending in.mdis served as a raw file, so never link a page asPage.md.The wiki branch is
main, notmaster. Confirmed via the repo API(
"wiki_branch": "main"). A push tomasteris silently invisible — the webUI and
/api/v1/repos/…/wiki/pagesboth report an empty wiki. There iscurrently a stray
masterref onspacetimedb-defold.wiki.gitfrom aprobe commit; delete it as part of this work.
There is no wiki search. Stated by a Gitea maintainer on go-gitea#823
alongside the missing-subdirectory admission. Not independently verified for
Forgejo 15, so treat as likely rather than certain — but plan for it, because
it is the constraint that decides page granularity. Without full-text search,
splitting 1841 lines across a dozen pages makes the content harder to use
than one file with ctrl-F.
→ Prefer few large pages over many small ones.
Usable and confirmed from the Forgejo v15 wiki documentation:
Home.mdas theentry page, global
_Sidebar.md/_Footer.md(hidden from the pages list;reachable by URL),
[[Page]]wiki-links, images committed underimages/via agit client only, and KaTeX math.
Proposed page tree
Seven pages. Each is independently ctrl-F-able, and the merged usage page keeps
the README's existing intra-page anchors working instead of rewriting roughly
fifteen of them into cross-page links.
HomeInstallation## Install+### HTML5 needs a patched extension-websocket— the HTML5 patch is install work, not protocol triviaQuickstart## Usageopening example, expanded into a genuine zero-to-running path: server module, publish, connect, subscribe, call a reducer. The README has no such path today; this is the one materially new pageUsage Guide### Per-table callbacks,### Dropping a subscription,### Handles,### Procedures,### Reconnect,### Identity persistence,### Authenticating with a provider,### Generating the schema,### Views,### Relations your schema does not describe,### Row value types— one long page,##per sectionAPI Reference## API referenceand all subsections, including#### Special types and their units. One page; reference material wants ctrl-F, not navigationProtocol Notes## Protocol reality check+### Three Defold-specific traps— why the wire looks the way it does; nothing here is needed in order to shipDevelopment## Layout,## Dev,## Regenerating fixtures,### No docker— contributors onlyPlus
_Sidebar.mdcarrying the same seven links, since without search thenavigation is load-bearing.
What
README.mdkeepsA repo description, not a summary of the wiki:
game.projectdependency URLs, because a reader who wants only thatshould not need a second page load
dev/is stripped from the releasearchive
Target: under 60 lines.
Acceptance
mainbranch, flat names, no subdirectoriesdeliberately dropped with the reason recorded in this issue
crossing a page boundary are rewritten to page links
_Sidebar.mdlists all seven pagesREADME.mdis under 60 lines and links to the wikimasterref onspacetimedb-defold.wiki.gitis deletedREADME.md(
.gitattributesis unchanged; verify withgit archive)Deliberately out of scope
README becoming a stub is what removes the duplication.
code that produces it.
and unnecessary at seven pages.