Demo data catalog for supplemental demos
Demo and preview sites need rich AsciiDoc to exercise Valentus chrome and supplemental extensions. Production org hubs must not depend on this content. This proposal picks a composable layout and rejects alternatives that hide fixtures inside extension code.
Problem
-
facto-stackuncheckeddemo/docsships only stack-specific pages (client Mermaid, lightbox, SoftNav) — not the full Demo pages set fromvalentus-themeunchecked. -
antora-demounchecked (samples) covers generic AsciiDoc syntax and is already acontent.sourcesentry on the org docs hub — but it is not Valentus-branded and lacks extension-oriented samples (tabs, themed diagrams, page-context attrs). -
Extensions increasingly need pages to demo UI (nav filter, search chat, linkinator). Duplicating fixtures per repo does not scale.
Recommendation (summary)
| Decision | Choice |
|---|---|
Primary transport |
Git repositories wired as Antora |
Shared base catalog |
New |
Generic AsciiDoc |
Keep |
Extension-specific smoke |
Stay in each extension’s |
Runtime injection |
Do not build a general-purpose extension that injects demo pages via |
Styles / tokens |
Stay in Valentus |
Versioning |
SemVer tags on |
Design language split (foundational vs extension)
The split you started in valentus-theme remains the source of truth:
-
Chassis / layout contracts —
antora-ui-chassis(consumed, not owned); seevalentus-theme/CHASSIS.md. -
Foundational paint + body — bundled in Valentus
ui-bundle.zip(site-visual.css,--valentus-canvas,--valentus-elevated,--valentus-ink,--valentus-accent, …). -
Extension supplemental UI — per-package CSS/JS under
ui/copied intosupplemental-ui(Antora does not auto-merge extension UI). Styles should usevar(--valentus-*, fallback)so demos work on Valentus and degrade on Default UI. -
Content fixtures — AsciiDoc pages that use those styles; they belong in
demo-dataor extension-localexamples/docs, not in the theme repo long term.
Fixture-only CSS classes (e.g. .valentus-logo-fixture-grid in guide pages) stay in the theme bundle; demo pages reference them by class name.
Antora wiring patterns
Pattern A — extra content source (preferred)
content:
sources:
- url: https://github.com/antora-supplemental/demo-data.git
branches: main
start_path: docs/demo-pages
- url: .
branches: HEAD
start_path: demo/docs # consumer-owned stack pages
Pros: normal Antora aggregation, xrefs, Lunr index, no custom extension.
Cons: multi-component nav needs @antora-supplemental/site-nav-tree include allowlist.
facto-stack demo composition
Target shape:
-
demo-pagesfromdemo-data— typography, admonitions, tables, extension.adoc-style richness (post-migration). -
facto-stackfromfacto-stack/demo/docs— stack-only behavior proofs. -
profile: demoon@antora-supplemental/facto-stack— already enables site-nav-tree + client Mermaid + lightbox. -
siteNavTree.include: [home, demo-pages]— curated sidebar forest (facto-stack demo: portal + stack pages under componenthome).
Org docs hub keeps its own forest (docs, registry, …) and may continue to use antora-demo for samples without pulling demo-pages unless we want redundant syntax pages.
valentus-theme demo site
Today: one component (valentus-theme) with guide + ROOT modules; Pages builds from docs/ in-repo.
After migration:
-
In repo: guide module only (product docs).
-
Optional second source:
demo-datademo-pagesonantora-playbook.ymlif the public Valentus site should still show fixtures without bloating the theme release tarball. -
Visual overlay worktree:
antora-playbook-visual-demo.ymlshould referencedemo-data(not sibling clone hack) once fixtures move.
What valentus demo contains today (migration scope)
-
8+ ROOT pages: index, typography, code-blocks, admonitions, tables, blocks, lists, images, extensions.
-
Diagram assets:
docs/modules/ROOT/images/diagrams/*(mmd, svg, host svg, theme json). -
Guide module (~15 pages): stays in
valentus-theme. -
Not copied blindly: GitHub README chrome,
supplemental-ui, ui-bundle build artifacts,node_modules.
Detail: migration.adoc in demo-dataunchecked.
Other extensions (survey)
Prescribed pattern authority: demo-data READMEunchecked.
| Repo | Demo / examples today |
|---|---|
site-nav-tree |
Supplement in |
nav-typology |
No separate fixture component; enable on playbooks that already compose |
page-context |
Teaching pages use |
antora-search-chat |
Lunr corpus comes from composed sources — add |
asciidoc-interactive |
Product demo page in-repo ( |
linkinator |
Needs outbound links in article prose — compose |
extension-lister (Facto) |
Generated at publish from registered extensions; demo site needs normal |
soft-nav-page-toc |
Multi-page nav + SoftNav: |
mermaid-client / diagram-lightbox |
Stack behavior proofs in |
Resolved naming (2026-10)
-
Repo:
demo-data(umbrella); split todemo-data-{scope}only when size/license/cadence requires it. -
Baseline component:
demo-pages(docs/demo-pages). -
Org hub: keep
antora-demosamplesfor generic syntax; adddemo-pagesonly when Valentus-branded fixture pages are wanted on the hub.
Implementation status
-
demo-dataunchecked — baselinedemo-pagesmigrated fromvalentus-themeROOT fixtures (see migration.adocunchecked);site-nav-treesupplement shipped. -
Valentus cutover (2026-10):
valentus-themeis guide-only; Pages composesdemo-data@v0.3.0(or newer tag). Fixture URLs under componentdemo-pages(…/demo-pages/~/; legacytheme-demo/redirects on Pages). -
facto-stackuncheckeddemo/playbook.ymlcomposesdemo-pages@v0.3.5+demo/home+ optionalsite-nav-treesupplement nested under Extensions. Forest root Demo pages; sidebar Core + Extensions; extension topics underdemo-pages/extensions/(v0.3.2+ split, v0.3.3+ hierarchy). -
Agent policy: Dev-Centr skill
antora-org-site→demo-data.md; stack demo UX pairs skilldemo-site-wiring.
See also
-
Build a composable Antora demo — step-by-step playbook tutorial
-
facto-stack README — published demosunchecked