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 install against 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 <[email protected]>")
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
)