Commit9451f933Recorded26 Apr 2026Repositorysigil-docs
Extract sigil-docs from sigil monorepo as standalone repo
Message
Initial scaffolding for the standalone sigil-docs repository, extracted from packages/sigil-docs/ via git filter-repo (88 commits preserved).
Changes from monorepo state:
- package.sgl: added explicit version: "0.13.1"; updated url: to https://codeberg.org/sigil/sigil-docs (was monorepo URL).
- Added README.md (rewritten from the stale monorepo placeholder), LICENSE (BSD-3-Clause carried from monorepo root), .gitignore (build/ + .sigil/), manifest.scm (pure-Scheme guix-shell env), dev-redirects.sgl (sigil-lang + sigil-args + sigil-ansi + sigil-json for local development).
- sigil.lock: 4-entry lockfile from
sigil deps installagainst published codeberg dependencies.
Self-bootstrap green: sigil deps install + 7/7 tests pass.
Per the canonical extraction playbook (procedures/sigil-package-extraction). sigil-docs is the first non-bootstrap-module extraction — no Makefile or boot-pipeline coupling on the consumer side.
Changed
.gitignore | 2 ++
LICENSE | 28 ++++++++++++++++++++++++++++
README.md | 55 ++++++++++++++++++++++++++++++-------------------------
dev-redirects.sgl | 16 ++++++++++++++++
manifest.scm | 7 +++++++
package.sgl | 3 ++-
sigil.lock | 24 ++++++++++++++++++++++++
7 files changed, 109 insertions(+), 26 deletions(-)Diff
.gitignoreadded
@@ -0,0 +1,2 @@
+1
build/+2
.sigil/LICENSEadded
@@ -0,0 +1,28 @@
+1
BSD 3-Clause License+2
+3
Copyright (c) 2025 David Wilson+4
+5
Redistribution and use in source and binary forms, with or without+6
modification, are permitted provided that the following conditions are met:+7
+8
1. Redistributions of source code must retain the above copyright notice, this+9
list of conditions and the following disclaimer.+10
+11
2. Redistributions in binary form must reproduce the above copyright notice,+12
this list of conditions and the following disclaimer in the documentation+13
and/or other materials provided with the distribution.+14
+15
3. Neither the name of the copyright holder nor the names of its+16
contributors may be used to endorse or promote products derived from+17
this software without specific prior written permission.+18
+19
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+20
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+21
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+22
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+23
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+24
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+25
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+26
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+27
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+28
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.README.mdmodified
@@ -1,44 +1,49 @@
1
# sigil-docs 2
−3
Documentation generator for Sigil projects.+3
Documentation lookup and search tooling for Sigil projects. 4
5
## Overview 6
−7
This package provides tools for generating documentation from Sigil source files and Markdown content:+7
`(sigil docs)` provides JSON-based documentation lookup for REPL inline help+8
and tooling integration (LSP hover, MCP tools, format hints). Doc JSON files+9
are generated by the Sigil compiler during compilation. 10
−9
- **API Documentation**: Extract documentation from module source files−10
- **Markdown Parser**: Convert Markdown to SXML AST−11
- **Static Site Generator**: Produce HTML documentation websites−12
- **Executable Blocks**: Run code and shell commands inline+11
Sub-modules:+12
+13
- `(sigil docs)` — top-level surface re-exporting the lookup API+14
- `(sigil docs lookup)` — JSON-based doc lookup+15
- `(sigil docs types)` — doc record type definitions+16
- `(sigil docs search)` — documentation search across modules+17
- `(sigil docs index)` — doc-index assembly+18
- `(sigil docs packages)` — package-level doc lookup 19
20
## Usage 21
22
```scheme−17
(import (sigil docs markdown))+23
(import (sigil docs)) 24
−19
;; Parse Markdown to SXML−20
(define doc (markdown->sxml "# Hello\n\nWorld"))−21
;; => (document (h1 "Hello") (p "World"))+25
;; Look up an export's docs+26
(get-export-details '(sigil string) 'string-split) 27
−23
;; Parse from file−24
(define doc (markdown-file->sxml "README.md"))+28
;; Get a module's top-level description+29
(get-module-description '(sigil docs)) 30
``` 31
−27
## Running Tests−28
−29
From the sigil-sprint root directory:+32
## Building and testing 33
−31
```bash−32
./scripts/sigil-dev -L packages/sigil-docs/src packages/sigil-docs/test/test-markdown.sgl+34
```sh+35
sigil deps install+36
sigil build+37
sigil test --report 38
``` 39
−35
## Status+40
For local development against an unreleased sigil-lang / sigil-args /+41
sigil-ansi / sigil-json checkout, use `dev-redirects.sgl`:+42
+43
```sh+44
sigil deps install --redirects ./dev-redirects.sgl+45
``` 46
−37
Work in progress. Current implementation:+47
## License 48
−39
- [x] Block parsing (headers, paragraphs, code blocks, lists, blockquotes, hr)−40
- [x] Inline parsing (bold, italic, code, links, images)−41
- [ ] Front matter support−42
- [ ] Executable blocks−43
- [ ] API documentation extraction−44
- [ ] Site generator+49
BSD-3-Clause. See [LICENSE](LICENSE).dev-redirects.sgladded
@@ -0,0 +1,16 @@
+1
;; Development redirects — point from-git deps at local sibling checkouts+2
;; during local dev. Use: sigil deps install --redirects ./dev-redirects.sgl+3
(redirects+4
repos: (list+5
(for-repo+6
url: "codeberg:sigil/sigil-lang"+7
use: (from-path dir: "../sigil-lang"))+8
(for-repo+9
url: "codeberg:sigil/sigil-args"+10
use: (from-path dir: "../sigil-args"))+11
(for-repo+12
url: "codeberg:sigil/sigil-ansi"+13
use: (from-path dir: "../sigil-ansi"))+14
(for-repo+15
url: "codeberg:sigil/sigil-json"+16
use: (from-path dir: "../sigil-json"))))manifest.scmadded
@@ -0,0 +1,7 @@
+1
;; sigil-docs Development Environment+2
;; Use with: guix shell -m manifest.scm+3
+4
(specifications->manifest+5
'("gcc-toolchain"+6
"make"+7
"pkg-config"))package.sglmodified
@@ -5,9 +5,10 @@
5
6
(package 7
name: "sigil-docs"+8
version: "0.13.1" 9
sigil: "^0.13" 10
description: "Documentation generator for Sigil projects"−10
url: "https://codeberg.org/sigil/sigil"+11
url: "https://codeberg.org/sigil/sigil-docs" 12
license: "BSD-3-Clause" 13
authors: (list "David Wilson <david@daviwil.com>") 14
sigil.lockadded
@@ -0,0 +1,24 @@
+1
;; Auto-generated by sigil deps install. Do not edit.+2
(lock+3
(package name: "sigil-stdlib"+4
url: "codeberg:sigil/sigil-lang"+5
ref: "^0.13.1"+6
sha: "a436005a34754522d3c38b608aa892b4f8e13dd3"+7
package-selector: "sigil-stdlib"+8
version: "0.13.1")+9
(package name: "sigil-args"+10
url: "codeberg:sigil/sigil-args"+11
ref: "^0.13.1"+12
sha: "8819fc0f8f653dc6e3a25528615c7530004693a4"+13
version: "0.13.1")+14
(package name: "sigil-ansi"+15
url: "codeberg:sigil/sigil-ansi"+16
ref: "^0.13.1"+17
sha: "ffee474670cfecc41bce437a173bf4c7830464bf"+18
version: "0.13.1")+19
(package name: "sigil-json"+20
url: "codeberg:sigil/sigil-json"+21
ref: "^0.13.1"+22
sha: "811b63925399a663e4b7dd25fb0813d59d33f557"+23
version: "0.13.1")+24
)