WIP: Documentation #1512
No reviewers
Labels
No labels
UX
active development
backlog
blocker
bootstrap
bounty
bug
dependencies
discussion
documentation
duplicate
enhancement
flaky test
help wanted
invalid
javascript
question
release
tendentious
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mighty-gerbils/gerbil!1512
Loading…
Reference in a new issue
No description provided.
Delete branch "jay/gerbil:v0.19-documentation"
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?
very much still WIP, not ready for review
preview hosted at https://gerbil.tungo.org/
{.gerbil}inline andgerbilfences link documented identifiers{module=":std/foo"}declares the documented module{.def}generates checked signatures; macros use handwritten grammargerbil-replfor repl, with outputs in committed_freeze/filesHeading {module=...} attributes declare the module a section documents, and {.def} signature blocks define the names it must export. Scheme code on every page links each identifier to the definition documenting its binding, found by following re-exports through compiled module interfaces. Documentation never loads module source or instantiates a module.Each reference page beside a compiled module declares it in place of an import tip, and each heading whose signature names exported bindings becomes a {.def} block. Headings for bindings the module does not export are left unchanged. Links to removed headings use the new definition anchors, and an unclosed tip in the JSON page is closed.[term]{.dfn} defines a glossary term and [terms]{.term} refers to it, matching case and plural forms like Scribble's tech. gerbil doc --coverage lists each declared module's undocumented exports.{.def added=... deprecated=...} notes versions beside a definition's kind, and a link with empty text shows its target's title, as Scribble's history and secref do.{.def name="x"} marks a block such as (define x (make-parameter #t)) as linked code defining x, like Scribble's defthing; the definer implies its kind.Headings over a definition form of an exported binding, such as (defclass Exception ...), become {.def name=...} blocks.Code blocks are Gerbil when their language is gerbil and inline code when it has the class gerbil; gxdoc's classes are errors where they do not belong, and imports= may precede a Gerbil block. The pages are converted mechanically: readable ```scheme blocks and every {.def} block become ```gerbil, and inline code phase 1 linked is marked {.gerbil}.View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.