Browse documentation

Start here

OverviewYour first siteBuild and inspect your siteWrite useful documentationGlossaryTroubleshooting

Shape your site

ConfigurationAuthoring recipesSections and identityCustomize the home pageThemesCustom CSS (advanced)Machine-readable contractsVisual fixturesMathematics

Publish safely

Audit your documentationGitHub PagesPre-publish checklistHistorical documentationQualification evidenceMigration

Pascal and project internals

PasWeave integrationArchitectureArchitecture analysisProject specification (historical)

Project decisions

BoundariesHistory and customisationRelease-tag publicationReader-first documentationLocal syntax highlightingExisting-repository adoptionGitHub Pages setupDocumentation auditSimple configurationv1.0 stable contractDocSprout rebrand

Architectural analysis

This page records the cross-project analysis that led to extracting DocSprout from the ecosystem’s library sites. It is maintainer history, not adoption guidance: start with Architecture for the current design and Machine-readable contracts for the stable surface.

DocSprout is the shared static-site layer for the Free Pascal ecosystem. It renders project-owned Markdown into a documentation site; it does not parse Pascal source or extract API declarations.

Reference comparison

RepositoryReusable findingsProject-specific findings
ChronoKit-FPMarkdown rendering, version manifest, detached-worktree historical builds, release checks, CSS/JS shellChronoKit pages, banner, date/time release policy and API generation scripts
StringKit-FPStructured layout.json, homepage cards/banner, navigation, search, release builds and checksStringKit navigation/content and teal identity
ThreadSafeCollections-FPMost complete legacy fallback, link/anchor validation, page navigation, deterministic offline archiveCollection guides, purple identity, collection-specific release metadata
MathLib-FPCompact renderer, layout aliases, offline ZIP plus SHA-256, release-qualified outputMath layout conventions, mathematical documentation and qualification tooling
PasWeaveAccessible responsive output, search, System/Light/Dark persistence, output manifests and safe incremental-build ideasPascal parsing, symbols, documentation directives, API coverage and source traceability

The four library sites each have their own build_docs.py, historical-build script, validation scripts, site CSS and browser JavaScript. Their file hashes and sizes differ, demonstrating real divergence rather than a shared component.

Deliberate extraction boundary

DocSprout centralises Markdown rendering, routing, modern/legacy navigation, version manifests, immutable-ref builds, validation, generated CSS/JS, search, themes, offline bundles and Pages integration. A consuming repository keeps Markdown, its navigation/manifest, branding tokens, banner and Git tags.

PasWeave stays upstream of this boundary. It may emit Markdown that DocSprout renders alongside handwritten pages, but neither tool depends on the other.

v0.1 decisions