Extract sigil-docs from sigil monorepo as standalone repo
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.
.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(-).gitignoreadded
build/.sigil/LICENSEadded
BSD 3-Clause LicenseCopyright (c) 2025 David WilsonRedistribution and use in source and binary forms, with or withoutmodification, are permitted provided that the following conditions are met:1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THEIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AREDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLEFOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIALDAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ORSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVERCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USEOF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.README.mdmodified
# sigil-docsDocumentation generator for Sigil projects.Documentation lookup and search tooling for Sigil projects.## OverviewThis package provides tools for generating documentation from Sigil source files and Markdown content:`(sigil docs)` provides JSON-based documentation lookup for REPL inline helpand tooling integration (LSP hover, MCP tools, format hints). Doc JSON filesare generated by the Sigil compiler during compilation.- **API Documentation**: Extract documentation from module source files- **Markdown Parser**: Convert Markdown to SXML AST- **Static Site Generator**: Produce HTML documentation websites- **Executable Blocks**: Run code and shell commands inlineSub-modules:- `(sigil docs)` — top-level surface re-exporting the lookup API- `(sigil docs lookup)` — JSON-based doc lookup- `(sigil docs types)` — doc record type definitions- `(sigil docs search)` — documentation search across modules- `(sigil docs index)` — doc-index assembly- `(sigil docs packages)` — package-level doc lookup## Usage```scheme(import (sigil docs markdown))(import (sigil docs));; Parse Markdown to SXML(define doc (markdown->sxml "# Hello\n\nWorld"));; => (document (h1 "Hello") (p "World"));; Look up an export's docs(get-export-details '(sigil string) 'string-split);; Parse from file(define doc (markdown-file->sxml "README.md"));; Get a module's top-level description(get-module-description '(sigil docs))```## Running TestsFrom the sigil-sprint root directory:## Building and testing```bash./scripts/sigil-dev -L packages/sigil-docs/src packages/sigil-docs/test/test-markdown.sgl```shsigil deps installsigil buildsigil test --report```## StatusFor local development against an unreleased sigil-lang / sigil-args /sigil-ansi / sigil-json checkout, use `dev-redirects.sgl`:```shsigil deps install --redirects ./dev-redirects.sgl```Work in progress. Current implementation:## License- [x] Block parsing (headers, paragraphs, code blocks, lists, blockquotes, hr)- [x] Inline parsing (bold, italic, code, links, images)- [ ] Front matter support- [ ] Executable blocks- [ ] API documentation extraction- [ ] Site generatorBSD-3-Clause. See [LICENSE](LICENSE).dev-redirects.sgladded
;; Development redirects — point from-git deps at local sibling checkouts;; during local dev. Use: sigil deps install --redirects ./dev-redirects.sgl(redirects repos: (list (for-repo url: "codeberg:sigil/sigil-lang" use: (from-path dir: "../sigil-lang")) (for-repo url: "codeberg:sigil/sigil-args" use: (from-path dir: "../sigil-args")) (for-repo url: "codeberg:sigil/sigil-ansi" use: (from-path dir: "../sigil-ansi")) (for-repo url: "codeberg:sigil/sigil-json" use: (from-path dir: "../sigil-json"))))manifest.scmadded
;; sigil-docs Development Environment;; Use with: guix shell -m manifest.scm(specifications->manifest '("gcc-toolchain" "make" "pkg-config"))package.sglmodified
(package name: "sigil-docs" version: "0.13.1" sigil: "^0.13" description: "Documentation generator for Sigil projects" url: "https://codeberg.org/sigil/sigil" url: "https://codeberg.org/sigil/sigil-docs" license: "BSD-3-Clause" authors: (list "David Wilson <[email protected]>")sigil.lockadded
;; Auto-generated by sigil deps install. Do not edit.(lock (package name: "sigil-stdlib" url: "codeberg:sigil/sigil-lang" ref: "^0.13.1" sha: "a436005a34754522d3c38b608aa892b4f8e13dd3" package-selector: "sigil-stdlib" version: "0.13.1") (package name: "sigil-args" url: "codeberg:sigil/sigil-args" ref: "^0.13.1" sha: "8819fc0f8f653dc6e3a25528615c7530004693a4" version: "0.13.1") (package name: "sigil-ansi" url: "codeberg:sigil/sigil-ansi" ref: "^0.13.1" sha: "ffee474670cfecc41bce437a173bf4c7830464bf" version: "0.13.1") (package name: "sigil-json" url: "codeberg:sigil/sigil-json" ref: "^0.13.1" sha: "811b63925399a663e4b7dd25fb0813d59d33f557" version: "0.13.1"))