@inditextech/docouture-cli 0.1.0-SNAPSHOT.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bin.js +321 -0
- package/build/commands/build.js +22 -0
- package/build/commands/completion.js +69 -0
- package/build/commands/dev.js +67 -0
- package/build/commands/doctor.js +156 -0
- package/build/commands/eject.js +71 -0
- package/build/commands/new.js +512 -0
- package/build/commands/publish.js +111 -0
- package/build/commands/teardown.js +66 -0
- package/build/commands/upgrade.js +156 -0
- package/build/commands/version.js +60 -0
- package/build/lib/agents-md.js +67 -0
- package/build/lib/antora-log.js +36 -0
- package/build/lib/antora-yml.js +47 -0
- package/build/lib/args.js +26 -0
- package/build/lib/cli-context.js +17 -0
- package/build/lib/cli-info.js +20 -0
- package/build/lib/config-resolver.js +23 -0
- package/build/lib/copy-template.js +162 -0
- package/build/lib/debug-log.js +21 -0
- package/build/lib/detect-package-manager.js +79 -0
- package/build/lib/dev-server.js +337 -0
- package/build/lib/doctor-checks.js +240 -0
- package/build/lib/global-flags.js +31 -0
- package/build/lib/kroki-compose.js +54 -0
- package/build/lib/playbook-yml.js +90 -0
- package/build/lib/repo-root.js +21 -0
- package/build/lib/run-script.js +50 -0
- package/build/lib/theme.js +51 -0
- package/build/templates/agent-support/.claude/skills/docs-internals/SKILL.md +53 -0
- package/build/templates/agent-support/.claude/skills/docs-internals/reference/antora-extensions.md +54 -0
- package/build/templates/agent-support/.claude/skills/docs-internals/reference/naming.md +41 -0
- package/build/templates/agent-support/.claude/skills/docs-internals/reference/page-patterns.md +238 -0
- package/build/templates/agent-support/.claude/skills/docs-versioning.versioned/SKILL.md +37 -0
- package/build/templates/agent-support/.claude/skills/docs-versioning.versioned/reference/releasing.md +106 -0
- package/build/templates/agent-support/.claude/skills/documenting-your-repo/SKILL.md +55 -0
- package/build/templates/agent-support/.claude/skills/documenting-your-repo/reference/content-sourcing.md +55 -0
- package/build/templates/agent-support/.claude/skills/documenting-your-repo/reference/maintenance-loop.md +68 -0
- package/build/templates/agent-support/.claude/skills/documenting-your-repo/reference/structure-planning.md +102 -0
- package/build/templates/agent-support/.claude/skills/writing-docs-pages/SKILL.md +112 -0
- package/build/templates/agent-support/.claude/skills/writing-docs-pages/reference/docouture-blocks.md +170 -0
- package/build/templates/agent-support/.claude/skills/writing-docs-pages/reference/language-basics.md +402 -0
- package/build/templates/agent-support/.opencode/skills/docs-internals/SKILL.md +53 -0
- package/build/templates/agent-support/.opencode/skills/docs-internals/reference/antora-extensions.md +54 -0
- package/build/templates/agent-support/.opencode/skills/docs-internals/reference/naming.md +41 -0
- package/build/templates/agent-support/.opencode/skills/docs-internals/reference/page-patterns.md +238 -0
- package/build/templates/agent-support/.opencode/skills/docs-versioning.versioned/SKILL.md +37 -0
- package/build/templates/agent-support/.opencode/skills/docs-versioning.versioned/reference/releasing.md +106 -0
- package/build/templates/agent-support/.opencode/skills/documenting-your-repo/SKILL.md +55 -0
- package/build/templates/agent-support/.opencode/skills/documenting-your-repo/reference/content-sourcing.md +55 -0
- package/build/templates/agent-support/.opencode/skills/documenting-your-repo/reference/maintenance-loop.md +68 -0
- package/build/templates/agent-support/.opencode/skills/documenting-your-repo/reference/structure-planning.md +102 -0
- package/build/templates/agent-support/.opencode/skills/writing-docs-pages/SKILL.md +112 -0
- package/build/templates/agent-support/.opencode/skills/writing-docs-pages/reference/docouture-blocks.md +170 -0
- package/build/templates/agent-support/.opencode/skills/writing-docs-pages/reference/language-basics.md +402 -0
- package/build/templates/agent-support/AGENTS.md +72 -0
- package/build/templates/starter/antora-playbook.local.yml +99 -0
- package/build/templates/starter/antora-playbook.versioned.yml +167 -0
- package/build/templates/starter/antora-playbook.yml +189 -0
- package/build/templates/starter/gitignore +3 -0
- package/build/templates/starter/package.json +37 -0
- package/build/templates/starter/scripts/check-links.mjs +178 -0
- package/build/templates/starter/src/antora.yml +85 -0
- package/build/templates/starter/src/modules/ROOT/images/card-placeholder.png +0 -0
- package/build/templates/starter/src/modules/ROOT/images/feature-placeholder-dark.png +0 -0
- package/build/templates/starter/src/modules/ROOT/images/feature-placeholder.png +0 -0
- package/build/templates/starter/src/modules/ROOT/images/hero-placeholder.png +0 -0
- package/build/templates/starter/src/modules/ROOT/pages/index.adoc +124 -0
- package/build/templates/starter/src/modules/main/nav.adoc +19 -0
- package/build/templates/starter/src/modules/main/pages/app.adoc +5 -0
- package/build/templates/starter/src/modules/main/pages/architecture.adoc +6 -0
- package/build/templates/starter/src/modules/main/pages/changelog/index.adoc +9 -0
- package/build/templates/starter/src/modules/main/pages/components.adoc +701 -0
- package/build/templates/starter/src/modules/main/pages/contributing.adoc +6 -0
- package/build/templates/starter/src/modules/main/pages/getting-started.adoc +169 -0
- package/build/templates/starter/src/modules/main/pages/glossary.adoc +8 -0
- package/build/templates/starter/src/modules/main/pages/index.adoc +9 -0
- package/build/templates/starter/src/modules/main/pages/prerequisites.adoc +55 -0
- package/build/templates/starter/src/modules/main/pages/quickstart.adoc +21 -0
- package/build/templates/starter/src/modules/main/pages/release-notes/index.adoc +9 -0
- package/build/templates/starter/src/modules/main/pages/requirements.adoc +8 -0
- package/build/templates/starter/src/modules/main/pages/roadmap.adoc +4 -0
- package/build/templates/starter/src/modules/main/pages/structure.adoc +5 -0
- package/build/templates/starter/src/release-version.versioned +1 -0
- package/build/templates/starter/supplemental-ui/favicon.ico +0 -0
- package/build/templates/starter/supplemental-ui/product-logo-dark.png +0 -0
- package/build/templates/starter/supplemental-ui/product-logo.png +0 -0
- package/build/templates/workflows/docouture-kroki-cache-warm.yml +101 -0
- package/build/templates/workflows/docouture-pr-verify.yml +120 -0
- package/build/templates/workflows/docouture-publish-prerelease.yml +122 -0
- package/build/templates/workflows/docouture-publish.yml +138 -0
- package/build/templates/workflows/docouture-release-preview.yml +198 -0
- package/build/templates/workflows/docouture-release.yml +414 -0
- package/package.json +38 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!-- docouture:start - managed by docouture; edits inside this block are overwritten by `docouture new`/`docouture upgrade` -->
|
|
2
|
+
<!-- prettier-ignore -->
|
|
3
|
+
# __DOCOUTURE_TITLE__ documentation
|
|
4
|
+
|
|
5
|
+
This repository's `docs/` directory is an Antora documentation site, scaffolded by
|
|
6
|
+
`docouture new` (`@inditextech/docouture-cli`). This file is the baseline for any coding agent
|
|
7
|
+
(OpenCode, Claude Code, Codex, Cursor, …) working on it — house rules, commands and where
|
|
8
|
+
to look for more.
|
|
9
|
+
|
|
10
|
+
## Layout
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
docs/
|
|
14
|
+
antora-playbook.yml build entry point: site title, content sources, UI bundle
|
|
15
|
+
antora-playbook.local.yml used by `docouture dev` and PR verification — builds HEAD only
|
|
16
|
+
src/
|
|
17
|
+
antora.yml component descriptor: name, title, version, nav
|
|
18
|
+
modules/
|
|
19
|
+
ROOT/ the default module
|
|
20
|
+
nav.adoc the navigation tree
|
|
21
|
+
pages/*.adoc one page per file — these become site URLs
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
The nesting (`docs/src/...`) is intentional — see the `docs-internals` skill.
|
|
25
|
+
|
|
26
|
+
## Commands
|
|
27
|
+
|
|
28
|
+
Run from the repository root (or pass `--dir <path>` to any of them):
|
|
29
|
+
|
|
30
|
+
| command | does |
|
|
31
|
+
| ------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
32
|
+
| `docouture dev [--port <port>]` | build the site and serve it with live reload, rebuilding on every change |
|
|
33
|
+
| `docouture build` | build the site once (`npm run build` under `docs/`) |
|
|
34
|
+
| `docouture doctor` | check Node version, the four names that must agree, git history and that antora is installed |
|
|
35
|
+
|
|
36
|
+
`docs/package.json` also exposes `npm run build`/`npm run dev` directly if you'd rather not
|
|
37
|
+
go through the `docouture` CLI.
|
|
38
|
+
|
|
39
|
+
## Conventions
|
|
40
|
+
|
|
41
|
+
- Every page lives at `docs/src/modules/<module>/pages/*.adoc` and must have an `xref:`
|
|
42
|
+
entry in that module's `nav.adoc`, or it builds but is unreachable from the navigation.
|
|
43
|
+
- A build failure on a warning is expected behaviour here, not a bug — `antora-playbook.yml`
|
|
44
|
+
sets `runtime.log.failure_level: warn`. A broken `xref:`, a missing include target or an
|
|
45
|
+
unknown attribute reference fails the build.
|
|
46
|
+
- Run `docouture doctor` after any structural change (renaming the component, moving
|
|
47
|
+
`antora.yml`, editing `package.json`'s `name`) — it's the fast way to catch the four names
|
|
48
|
+
drifting out of agreement.
|
|
49
|
+
|
|
50
|
+
## Skills
|
|
51
|
+
|
|
52
|
+
- **`documenting-your-repo`** — start here: planning what to document, sourcing content
|
|
53
|
+
from wherever it actually lives (existing docs, README, or the code itself), and the
|
|
54
|
+
long-term loop that keeps docs in sync as the repo grows. Hands off to the two skills
|
|
55
|
+
below for mechanics once a decision is made.
|
|
56
|
+
- **`writing-docs-pages`** — authoring AsciiDoc content: the language itself, `xref:`
|
|
57
|
+
references, `nav.adoc`, admonitions, code blocks, and this site's own custom blocks
|
|
58
|
+
(`[tabs]`, `[cards]`, `[accordion]`, …).
|
|
59
|
+
- **`docs-internals`** — the playbook, the component descriptor, the four names that must
|
|
60
|
+
agree, the home-page vs. content-page patterns, and mono-module vs. multi-module sites.
|
|
61
|
+
- **`docs-versioning`** — only present when this site was scaffolded with
|
|
62
|
+
`--mode versioned`: cutting releases, `docouture version`, and `docs/.release-version`.
|
|
63
|
+
|
|
64
|
+
<!-- docouture:end -->
|
|
65
|
+
|
|
66
|
+
## Documentation state
|
|
67
|
+
|
|
68
|
+
<!-- maintained by the documenting-your-repo skill — do not hand-edit structure, only content -->
|
|
69
|
+
|
|
70
|
+
| doc page | derived from | status |
|
|
71
|
+
| ----------------- | --------------------- | ------ |
|
|
72
|
+
| index.adoc (home) | manual (hand-written) | — |
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Antora playbook for local development and PR verification.
|
|
3
|
+
#
|
|
4
|
+
# Reference: https://docs.antora.org/antora/latest/playbook/
|
|
5
|
+
#
|
|
6
|
+
# Build with: npx antora --fetch antora-playbook.local.yml
|
|
7
|
+
# Output: build/site
|
|
8
|
+
#
|
|
9
|
+
# Why this exists:
|
|
10
|
+
# Once this site adopts one of the two documented versioning modes (see the
|
|
11
|
+
# docouture docs-site-package skill's reference/versioning-modes.md), the real
|
|
12
|
+
# `antora-playbook.yml` aggregates content from more than just whatever is
|
|
13
|
+
# checked out right now — versioned matches `branches: [main]` +
|
|
14
|
+
# `tags: ['v*']`, standalone matches `branches: [main]` + `tags: ['stable']`.
|
|
15
|
+
# A PR build (or a local build on a feature branch) is on a detached HEAD or
|
|
16
|
+
# a branch that is neither of those, so `main` and the version tag(s) are
|
|
17
|
+
# not resolved in that checkout — the real playbook either fails or silently
|
|
18
|
+
# builds fewer versions than it should.
|
|
19
|
+
#
|
|
20
|
+
# This playbook points content aggregation at HEAD (the current worktree)
|
|
21
|
+
# instead, so `docouture dev` (see src/lib/dev-server.ts) and
|
|
22
|
+
# `docouture-pr-verify.yml` (see .github/workflows/) validate the current docs
|
|
23
|
+
# content without needing `main` or any release ref. It intentionally never
|
|
24
|
+
# changes shape when a site switches versioning mode, or adds a release:
|
|
25
|
+
# there is always exactly one thing to validate, whatever is currently
|
|
26
|
+
# checked out.
|
|
27
|
+
#
|
|
28
|
+
# Publishing (`docouture-publish.yml`) uses the real `antora-playbook.yml`.
|
|
29
|
+
#
|
|
30
|
+
|
|
31
|
+
site:
|
|
32
|
+
title: __DOCOUTURE_TITLE__
|
|
33
|
+
# Set to the dev server's own origin so Antora also generates 404.html
|
|
34
|
+
# (@antora/page-composer only does this when site.url is set) — docouture dev
|
|
35
|
+
# (src/lib/dev-server.ts) then has a real 404 page to serve instead of a
|
|
36
|
+
# plain-text fallback. Harmless here: this playbook is dev/PR-verify only,
|
|
37
|
+
# never used for a real publish (see the file header above).
|
|
38
|
+
url: http://localhost:5000
|
|
39
|
+
start_page: __DOCOUTURE_COMPONENT_NAME__::index.adoc
|
|
40
|
+
# Same placeholder logo/favicon as the real antora-playbook.yml — see its
|
|
41
|
+
# own comment. Harmless here too: this playbook is dev/PR-verify only.
|
|
42
|
+
keys:
|
|
43
|
+
product_logo: /_/product-logo.png
|
|
44
|
+
product_logo_dark: /_/product-logo-dark.png
|
|
45
|
+
favicon: /_/favicon.ico
|
|
46
|
+
|
|
47
|
+
content:
|
|
48
|
+
sources:
|
|
49
|
+
# See antora-playbook.yml's comment on `url`/`start_path` — same reasoning
|
|
50
|
+
# applies here: this playbook lives at <repo-root>/docs/ too.
|
|
51
|
+
- url: ..
|
|
52
|
+
start_path: docs/src
|
|
53
|
+
branches: HEAD
|
|
54
|
+
|
|
55
|
+
ui:
|
|
56
|
+
bundle:
|
|
57
|
+
# Same docouture UI bundle as the real antora-playbook.yml — see its comment.
|
|
58
|
+
# Resolved from node_modules too, so `npm install` must have run first.
|
|
59
|
+
url: ./node_modules/@inditextech/docouture-ui-bundle/build/ui-bundle.zip
|
|
60
|
+
snapshot: false
|
|
61
|
+
supplemental_files: ./supplemental-ui
|
|
62
|
+
|
|
63
|
+
output:
|
|
64
|
+
dir: build/site
|
|
65
|
+
|
|
66
|
+
urls:
|
|
67
|
+
html_extension_style: indexify
|
|
68
|
+
|
|
69
|
+
runtime:
|
|
70
|
+
log:
|
|
71
|
+
failure_level: warn
|
|
72
|
+
# See antora-playbook.yml's own comment on this key: Antora's own
|
|
73
|
+
# default is 'warn', which would otherwise silently drop
|
|
74
|
+
# @inditextech/docouture-antora-extensions' docouture-version-report and
|
|
75
|
+
# docouture-search-index diagnostics — both logged at 'info'.
|
|
76
|
+
level: info
|
|
77
|
+
|
|
78
|
+
asciidoc:
|
|
79
|
+
attributes:
|
|
80
|
+
experimental: ''
|
|
81
|
+
icons: font
|
|
82
|
+
sectanchors: ''
|
|
83
|
+
idprefix: ''
|
|
84
|
+
idseparator: '-'
|
|
85
|
+
source-highlighter: shiki
|
|
86
|
+
page-pagination: '@'
|
|
87
|
+
# Same as the real antora-playbook.yml — see its own comment.
|
|
88
|
+
kroki-enabled: true
|
|
89
|
+
kroki-diagram-types: mermaid,plantuml,bpmn,excalidraw
|
|
90
|
+
extensions:
|
|
91
|
+
# Same as the real antora-playbook.yml — see its own comment and the
|
|
92
|
+
# writing-docs-pages skill's reference/docouture-blocks.md.
|
|
93
|
+
- '@inditextech/docouture-asciidoc-extensions'
|
|
94
|
+
|
|
95
|
+
antora:
|
|
96
|
+
extensions:
|
|
97
|
+
# Same as the real antora-playbook.yml — see its own comment and the
|
|
98
|
+
# docs-internals skill's reference/antora-extensions.md.
|
|
99
|
+
- '@inditextech/docouture-antora-extensions'
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Antora playbook — the entry point for building this site.
|
|
3
|
+
# Reference: https://docs.antora.org/antora/latest/playbook/
|
|
4
|
+
#
|
|
5
|
+
# Build with: npx antora --fetch antora-playbook.yml
|
|
6
|
+
# Output: build/site
|
|
7
|
+
#
|
|
8
|
+
# Versioned (Full History) versioning — see the docouture docs-site-package
|
|
9
|
+
# skill's reference/versioning-modes.md for the full mechanism this playbook
|
|
10
|
+
# and docs/antora.yml together implement.
|
|
11
|
+
#
|
|
12
|
+
|
|
13
|
+
site:
|
|
14
|
+
title: __DOCOUTURE_TITLE__
|
|
15
|
+
# Set this to the public URL of the deployed site. It is required for the
|
|
16
|
+
# sitemap and for canonical links; leave it out while developing locally.
|
|
17
|
+
#
|
|
18
|
+
# Publishing to GitHub Pages as a project page always publishes under
|
|
19
|
+
# https://<org>.github.io/<repo>/ — the repo name has to be baked into
|
|
20
|
+
# this as a path segment; Antora uses it to generate correct absolute
|
|
21
|
+
# asset URLs — e.g.:
|
|
22
|
+
#
|
|
23
|
+
# url: https://<org>.github.io/<repo>
|
|
24
|
+
# url: https://docs.example.com
|
|
25
|
+
#
|
|
26
|
+
# A second /<component-name>/ segment only appears below (in
|
|
27
|
+
# site.start_page) if this site opted into one (`docouture new`'s "extra URL
|
|
28
|
+
# path segment" question, or `--url-segment`) — off by default, in which
|
|
29
|
+
# case docs/antora.yml's component name is Antora's reserved `ROOT` and
|
|
30
|
+
# contributes no segment.
|
|
31
|
+
start_page: __DOCOUTURE_COMPONENT_NAME__::index.adoc
|
|
32
|
+
# Side-menu brand mark (nav-brand.hbs) and browser tab icon (head-icons.hbs)
|
|
33
|
+
# — placeholder artwork under supplemental-ui/, wired via
|
|
34
|
+
# ui.supplemental_files below. Supplemental files land under the UI's own
|
|
35
|
+
# output dir (ui.output_dir, default `_`), not the site root, hence the
|
|
36
|
+
# `/_/` prefix. Swap these two files (and product-logo-dark.png, used
|
|
37
|
+
# automatically under the dark theme) for real artwork, or remove the keys
|
|
38
|
+
# entirely to fall back to a text-only brand block and no favicon.
|
|
39
|
+
keys:
|
|
40
|
+
product_logo: /_/product-logo.png
|
|
41
|
+
product_logo_dark: /_/product-logo-dark.png
|
|
42
|
+
favicon: /_/favicon.ico
|
|
43
|
+
|
|
44
|
+
content:
|
|
45
|
+
sources:
|
|
46
|
+
# Antora resolves a local `url` relative to THIS FILE's own directory, not
|
|
47
|
+
# the build's cwd — and requires the resolved path to be a git worktree
|
|
48
|
+
# root itself, not merely nested inside one. This playbook lives at
|
|
49
|
+
# <repo-root>/docs/antora-playbook.yml, one level below the repository
|
|
50
|
+
# root `docouture new` scaffolded into, so `url: ..` is what reaches it — see
|
|
51
|
+
# the standalone playbook's own comment on this, and the
|
|
52
|
+
# docs-site-package skill.
|
|
53
|
+
- url: ..
|
|
54
|
+
# Repository-root relative, hence `docs/src` — see the standalone
|
|
55
|
+
# playbook's comment: the starter template's own nested `src/` lands
|
|
56
|
+
# one level below this repository's `docs/`.
|
|
57
|
+
start_path: docs/src
|
|
58
|
+
# Versioned (Full History): `main` aggregates as the prerelease
|
|
59
|
+
# version — docs/antora.yml on this branch says `version: prerelease`,
|
|
60
|
+
# `prerelease: true`, the same as the standalone mode's shape (this
|
|
61
|
+
# descriptor is identical for both modes on main — see docs/antora.yml's
|
|
62
|
+
# own comment). `tags: ['v*']` matches every release tag (v1.2.0,
|
|
63
|
+
# v2.0.0, ...) docouture-release.yml cuts, each an immutable version with
|
|
64
|
+
# its own copy of docs/antora.yml — the version dropdown grows by one
|
|
65
|
+
# every release and nothing here ever needs editing again.
|
|
66
|
+
branches: [main]
|
|
67
|
+
tags: ['v*']
|
|
68
|
+
|
|
69
|
+
ui:
|
|
70
|
+
bundle:
|
|
71
|
+
# The docouture UI bundle, installed as a real npm dependency (see
|
|
72
|
+
# package.json) rather than fetched from a URL at build time — `npm
|
|
73
|
+
# install` puts it under node_modules, and Antora reads the zip straight
|
|
74
|
+
# out of there. Pinned to the exact same version as
|
|
75
|
+
# @inditextech/docouture-cli (both packages release in lockstep, one version
|
|
76
|
+
# per tag), so whatever generated this site is always what it builds
|
|
77
|
+
# with.
|
|
78
|
+
#
|
|
79
|
+
# `build/ui-bundle.zip` (no version in the name) is a stable alias the
|
|
80
|
+
# published package always carries alongside the versioned
|
|
81
|
+
# `build/ui-bundle-<version>.zip` — see ui-bundle's own alias.js — so this
|
|
82
|
+
# path never needs editing on a version bump.
|
|
83
|
+
#
|
|
84
|
+
# Swap in a different bundle instead by pointing `url` at its zip
|
|
85
|
+
# (a URL or another local path) and dropping the devDependency above.
|
|
86
|
+
url: ./node_modules/@inditextech/docouture-ui-bundle/build/ui-bundle.zip
|
|
87
|
+
snapshot: false
|
|
88
|
+
# Serves the placeholder logo and favicon under site.keys above from a
|
|
89
|
+
# root-relative URL — see the docs-site-package skill's reference/
|
|
90
|
+
# playbook.md for how this directory's contents land under the UI's own
|
|
91
|
+
# output dir at build time.
|
|
92
|
+
supplemental_files: ./supplemental-ui
|
|
93
|
+
|
|
94
|
+
output:
|
|
95
|
+
# `docouture publish <target>` (see .github/workflows/docouture-publish.yml)
|
|
96
|
+
# publishes whatever is here, defaulting to this same value if the line
|
|
97
|
+
# is removed. Its own configuration — which target, and that driver's
|
|
98
|
+
# options — lives in this package's own package.json under a "docouture"
|
|
99
|
+
# key, not here: this file stays a plain, portable Antora playbook.
|
|
100
|
+
dir: build/site
|
|
101
|
+
|
|
102
|
+
urls:
|
|
103
|
+
# Every page's own URL ends in a trailing slash (.../page/) resolving an
|
|
104
|
+
# index.html, rather than a bare .../page.html — a matter of taste, not a
|
|
105
|
+
# requirement; drop this line for Antora's plain default if the deployed
|
|
106
|
+
# site sits behind something that prefers literal .html routes.
|
|
107
|
+
html_extension_style: indexify
|
|
108
|
+
|
|
109
|
+
runtime:
|
|
110
|
+
# Fail the build on broken xrefs and other content problems rather than
|
|
111
|
+
# publishing a site with silent gaps.
|
|
112
|
+
log:
|
|
113
|
+
failure_level: warn
|
|
114
|
+
# Antora's own default is 'warn' (@antora/playbook-builder's convict
|
|
115
|
+
# schema, not @antora/logger's own 'info' default, which never actually
|
|
116
|
+
# applies here) — below that, @inditextech/docouture-antora-extensions'
|
|
117
|
+
# diagnostic reports (docouture-version-report: which versions Antora
|
|
118
|
+
# resolved and which it picked as latest; docouture-search-index: how many
|
|
119
|
+
# pages/records were indexed) both log at 'info' and would otherwise be
|
|
120
|
+
# silently dropped, not merely hard to find in the build output.
|
|
121
|
+
level: info
|
|
122
|
+
|
|
123
|
+
asciidoc:
|
|
124
|
+
attributes:
|
|
125
|
+
# Enable kbd:[], btn:[] and menu:[] macros.
|
|
126
|
+
experimental: ''
|
|
127
|
+
# Render admonition icons as font glyphs rather than text labels.
|
|
128
|
+
icons: font
|
|
129
|
+
# Add clickable anchors to section titles.
|
|
130
|
+
sectanchors: ''
|
|
131
|
+
idprefix: ''
|
|
132
|
+
idseparator: '-'
|
|
133
|
+
# Static, build-time syntax highlighting via Shiki instead of Antora's own
|
|
134
|
+
# default (highlight.js, client-side) — see
|
|
135
|
+
# @inditextech/docouture-asciidoc-extensions's shiki-syntax-highlighter.js for
|
|
136
|
+
# the adapter this name resolves to, and
|
|
137
|
+
# @inditextech/docouture-antora-extensions's shiki-prewarm.js (wired below,
|
|
138
|
+
# under `antora.extensions`) for the async setup it depends on.
|
|
139
|
+
source-highlighter: shiki
|
|
140
|
+
# Turns on the ui-bundle's previous/next footer nav (pagination.hbs) for
|
|
141
|
+
# every page by default — it is opt-in per page otherwise. `@` makes it a
|
|
142
|
+
# soft default, so an individual page can still opt out with
|
|
143
|
+
# `:!page-pagination:` (e.g. a landing-style page).
|
|
144
|
+
page-pagination: '@'
|
|
145
|
+
# Same as the real antora-playbook.yml — see its own comment.
|
|
146
|
+
kroki-enabled: true
|
|
147
|
+
kroki-diagram-types: mermaid,plantuml,bpmn,excalidraw
|
|
148
|
+
extensions:
|
|
149
|
+
# Authoring blocks with no plain AsciiDoc equivalent — [tabs], [cards],
|
|
150
|
+
# [feature-tabs], [cta], [accordion] grouping, plus the label:[]/mono:[]
|
|
151
|
+
# inline macros and a few table/video sizing attributes. See the
|
|
152
|
+
# writing-docs-pages skill's reference/docouture-blocks.md for the full
|
|
153
|
+
# syntax of each.
|
|
154
|
+
- '@inditextech/docouture-asciidoc-extensions'
|
|
155
|
+
|
|
156
|
+
antora:
|
|
157
|
+
extensions:
|
|
158
|
+
# Antora pipeline extensions (a different key/kind from asciidoc.extensions
|
|
159
|
+
# above — see the docs-internals skill's reference/antora-extensions.md):
|
|
160
|
+
# nav_modules-driven module switcher, an authored site footer, the search
|
|
161
|
+
# index the UI bundle's search dialog reads, and llms.txt/llms-full.txt
|
|
162
|
+
# generation for AI ingestion. `duplicateLatestVersion` (GH #137)
|
|
163
|
+
# additionally publishes whichever release tag Antora computes as
|
|
164
|
+
# latest a second time under `/latest/…` — a real, independent copy,
|
|
165
|
+
# not a redirect stub — once a first release tag exists.
|
|
166
|
+
- require: '@inditextech/docouture-antora-extensions'
|
|
167
|
+
duplicate_latest_version: true
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Antora playbook — the entry point for building this site.
|
|
3
|
+
# Reference: https://docs.antora.org/antora/latest/playbook/
|
|
4
|
+
#
|
|
5
|
+
# Build with: npx antora --fetch antora-playbook.yml
|
|
6
|
+
# Output: build/site
|
|
7
|
+
#
|
|
8
|
+
# Standalone (default) versioning — see the docouture docs-site-package skill's
|
|
9
|
+
# reference/versioning-modes.md for the full mechanism this playbook and
|
|
10
|
+
# docs/antora.yml together implement.
|
|
11
|
+
#
|
|
12
|
+
|
|
13
|
+
site:
|
|
14
|
+
title: __DOCOUTURE_TITLE__
|
|
15
|
+
# Set this to the public URL of the deployed site. It is required for the
|
|
16
|
+
# sitemap and for canonical links; leave it out while developing locally.
|
|
17
|
+
#
|
|
18
|
+
# Publishing to GitHub Pages as a project page always publishes under
|
|
19
|
+
# https://<org>.github.io/<repo>/ — the repo name has to be baked into
|
|
20
|
+
# this as a path segment; Antora uses it to generate correct absolute
|
|
21
|
+
# asset URLs — e.g.:
|
|
22
|
+
#
|
|
23
|
+
# url: https://<org>.github.io/<repo>
|
|
24
|
+
# url: https://docs.example.com
|
|
25
|
+
#
|
|
26
|
+
# A second /<component-name>/ segment only appears below (in
|
|
27
|
+
# site.start_page) if this site opted into one (`docouture new`'s "extra URL
|
|
28
|
+
# path segment" question, or `--url-segment`) — off by default, in which
|
|
29
|
+
# case docs/antora.yml's component name is Antora's reserved `ROOT` and
|
|
30
|
+
# contributes no segment.
|
|
31
|
+
start_page: __DOCOUTURE_COMPONENT_NAME__::index.adoc
|
|
32
|
+
# Side-menu brand mark (nav-brand.hbs) and browser tab icon (head-icons.hbs)
|
|
33
|
+
# — placeholder artwork under supplemental-ui/, wired via
|
|
34
|
+
# ui.supplemental_files below. Supplemental files land under the UI's own
|
|
35
|
+
# output dir (ui.output_dir, default `_`), not the site root, hence the
|
|
36
|
+
# `/_/` prefix. Swap these two files (and product-logo-dark.png, used
|
|
37
|
+
# automatically under the dark theme) for real artwork, or remove the keys
|
|
38
|
+
# entirely to fall back to a text-only brand block and no favicon.
|
|
39
|
+
keys:
|
|
40
|
+
product_logo: /_/product-logo.png
|
|
41
|
+
product_logo_dark: /_/product-logo-dark.png
|
|
42
|
+
favicon: /_/favicon.ico
|
|
43
|
+
|
|
44
|
+
content:
|
|
45
|
+
sources:
|
|
46
|
+
# Antora resolves a local `url` relative to THIS FILE's own directory, not
|
|
47
|
+
# the build's cwd — and requires the resolved path to be a git worktree
|
|
48
|
+
# root itself, not merely nested inside one. This playbook lives at
|
|
49
|
+
# <repo-root>/docs/antora-playbook.yml, one level below the repository
|
|
50
|
+
# root `docouture new` scaffolded into, so `url: ..` is what reaches it —
|
|
51
|
+
# `url: .` would point at this docs/ directory, which is not itself a
|
|
52
|
+
# git repository, and the build fails with "Local content source must be
|
|
53
|
+
# a git repository". (Only a playbook living AT the repository root can
|
|
54
|
+
# use `url: .` — see the docs-site-package skill.)
|
|
55
|
+
- url: ..
|
|
56
|
+
# Repository-root relative, hence `docs/src`: the whole starter
|
|
57
|
+
# template — including its own nested `src/` holding antora.yml — was
|
|
58
|
+
# copied under this repository's `docs/`, so the descriptor ends up at
|
|
59
|
+
# `docs/src/antora.yml`.
|
|
60
|
+
start_path: docs/src
|
|
61
|
+
# Standalone: `main` aggregates as the prerelease version —
|
|
62
|
+
# docs/antora.yml on this branch permanently says `version: prerelease`,
|
|
63
|
+
# `prerelease: true`. `stable` is a rolling tag that docouture-release.yml
|
|
64
|
+
# force-moves to a fresh one-off commit on every release, not a second
|
|
65
|
+
# long-lived branch. Until the first release, `stable` does not exist
|
|
66
|
+
# yet and this site builds with just the one (prerelease) version —
|
|
67
|
+
# that is expected, not an error.
|
|
68
|
+
branches: [main]
|
|
69
|
+
tags: ['stable']
|
|
70
|
+
|
|
71
|
+
ui:
|
|
72
|
+
bundle:
|
|
73
|
+
# The docouture UI bundle, installed as a real npm dependency (see
|
|
74
|
+
# package.json) rather than fetched from a URL at build time — `npm
|
|
75
|
+
# install` puts it under node_modules, and Antora reads the zip straight
|
|
76
|
+
# out of there. Pinned to the exact same version as
|
|
77
|
+
# @inditextech/docouture-cli (both packages release in lockstep, one version
|
|
78
|
+
# per tag), so whatever generated this site is always what it builds
|
|
79
|
+
# with.
|
|
80
|
+
#
|
|
81
|
+
# `build/ui-bundle.zip` (no version in the name) is a stable alias the
|
|
82
|
+
# published package always carries alongside the versioned
|
|
83
|
+
# `build/ui-bundle-<version>.zip` — see ui-bundle's own alias.js — so this
|
|
84
|
+
# path never needs editing on a version bump.
|
|
85
|
+
#
|
|
86
|
+
# Swap in a different bundle instead by pointing `url` at its zip
|
|
87
|
+
# (a URL or another local path) and dropping the devDependency above.
|
|
88
|
+
url: ./node_modules/@inditextech/docouture-ui-bundle/build/ui-bundle.zip
|
|
89
|
+
snapshot: false
|
|
90
|
+
# Serves the placeholder logo and favicon under site.keys above from a
|
|
91
|
+
# root-relative URL — see the docs-site-package skill's reference/
|
|
92
|
+
# playbook.md for how this directory's contents land under the UI's own
|
|
93
|
+
# output dir at build time.
|
|
94
|
+
supplemental_files: ./supplemental-ui
|
|
95
|
+
|
|
96
|
+
output:
|
|
97
|
+
# `docouture publish <target>` (see .github/workflows/docouture-publish.yml)
|
|
98
|
+
# publishes whatever is here, defaulting to this same value if the line
|
|
99
|
+
# is removed. Its own configuration — which target, and that driver's
|
|
100
|
+
# options — lives in this package's own package.json under a "docouture"
|
|
101
|
+
# key, not here: this file stays a plain, portable Antora playbook.
|
|
102
|
+
dir: build/site
|
|
103
|
+
|
|
104
|
+
urls:
|
|
105
|
+
# Every page's own URL ends in a trailing slash (.../page/) resolving an
|
|
106
|
+
# index.html, rather than a bare .../page.html — a matter of taste, not a
|
|
107
|
+
# requirement; drop this line for Antora's plain default if the deployed
|
|
108
|
+
# site sits behind something that prefers literal .html routes.
|
|
109
|
+
html_extension_style: indexify
|
|
110
|
+
# NOTE: deliberately no `latest_version_segment` here. Under Antora's own
|
|
111
|
+
# `latest_version_segment_strategy` (default `replace`), setting it turns
|
|
112
|
+
# `.../stable/…` into a permanent redirect stub the moment a release
|
|
113
|
+
# exists — the opposite of what this standalone (stable/prerelease) setup
|
|
114
|
+
# promises. A `/.../latest/…` alias is provided instead, further down,
|
|
115
|
+
# by @inditextech/docouture-antora-extensions' `duplicateLatestVersion` (GH
|
|
116
|
+
# #137) — it publishes `stable`'s content a second time under `/latest/…`
|
|
117
|
+
# as a genuinely independent copy, so BOTH URLs stay real.
|
|
118
|
+
|
|
119
|
+
runtime:
|
|
120
|
+
# Fail the build on broken xrefs and other content problems rather than
|
|
121
|
+
# publishing a site with silent gaps.
|
|
122
|
+
log:
|
|
123
|
+
failure_level: warn
|
|
124
|
+
# Antora's own default is 'warn' (@antora/playbook-builder's convict
|
|
125
|
+
# schema, not @antora/logger's own 'info' default, which never actually
|
|
126
|
+
# applies here) — below that, @inditextech/docouture-antora-extensions'
|
|
127
|
+
# diagnostic reports (docouture-version-report: which versions Antora
|
|
128
|
+
# resolved and which it picked as latest; docouture-search-index: how many
|
|
129
|
+
# pages/records were indexed) both log at 'info' and would otherwise be
|
|
130
|
+
# silently dropped, not merely hard to find in the build output.
|
|
131
|
+
level: info
|
|
132
|
+
|
|
133
|
+
asciidoc:
|
|
134
|
+
attributes:
|
|
135
|
+
# Enable kbd:[], btn:[] and menu:[] macros.
|
|
136
|
+
experimental: ''
|
|
137
|
+
# Render admonition icons as font glyphs rather than text labels.
|
|
138
|
+
icons: font
|
|
139
|
+
# Add clickable anchors to section titles.
|
|
140
|
+
sectanchors: ''
|
|
141
|
+
idprefix: ''
|
|
142
|
+
idseparator: '-'
|
|
143
|
+
# Static, build-time syntax highlighting via Shiki instead of Antora's own
|
|
144
|
+
# default (highlight.js, client-side) — see
|
|
145
|
+
# @inditextech/docouture-asciidoc-extensions's shiki-syntax-highlighter.js for
|
|
146
|
+
# the adapter this name resolves to, and
|
|
147
|
+
# @inditextech/docouture-antora-extensions's shiki-prewarm.js (wired below,
|
|
148
|
+
# under `antora.extensions`) for the async setup it depends on.
|
|
149
|
+
source-highlighter: shiki
|
|
150
|
+
# Turns on the ui-bundle's previous/next footer nav (pagination.hbs) for
|
|
151
|
+
# every page by default — it is opt-in per page otherwise. `@` makes it a
|
|
152
|
+
# soft default, so an individual page can still opt out with
|
|
153
|
+
# `:!page-pagination:` (e.g. a landing-style page).
|
|
154
|
+
page-pagination: '@'
|
|
155
|
+
# Renders `[mermaid]`/`[plantuml]`/etc. blocks as real diagrams instead of
|
|
156
|
+
# literal source text, via a self-hosted Kroki service — enabled by
|
|
157
|
+
# default (comment both lines below out to turn it off). Needs Docker
|
|
158
|
+
# available; @inditextech/docouture-antora-extensions' kroki-prewarm.js
|
|
159
|
+
# starts the service itself, automatically, the first time a build needs
|
|
160
|
+
# it — no manual setup required. Run `docouture eject kroki` to copy the
|
|
161
|
+
# bundled compose file into docs/kroki-compose.yml if you need to
|
|
162
|
+
# customize it (a different image version, a companion for another
|
|
163
|
+
# diagram type, ...); `docouture teardown kroki` stops it manually, since
|
|
164
|
+
# nothing stops it automatically. `kroki-diagram-types` is a
|
|
165
|
+
# comma-separated subset of kroki.js's `SUPPORTED_TYPES` (e.g. `mermaid`
|
|
166
|
+
# or `mermaid,plantuml,bpmn,excalidraw`); omit it to enable every
|
|
167
|
+
# supported type.
|
|
168
|
+
kroki-enabled: true
|
|
169
|
+
kroki-diagram-types: mermaid,plantuml,bpmn,excalidraw
|
|
170
|
+
extensions:
|
|
171
|
+
# Authoring blocks with no plain AsciiDoc equivalent — [tabs], [cards],
|
|
172
|
+
# [feature-tabs], [cta], [accordion] grouping, plus the label:[]/mono:[]
|
|
173
|
+
# inline macros and a few table/video sizing attributes. See the
|
|
174
|
+
# writing-docs-pages skill's reference/docouture-blocks.md for the full
|
|
175
|
+
# syntax of each.
|
|
176
|
+
- '@inditextech/docouture-asciidoc-extensions'
|
|
177
|
+
|
|
178
|
+
antora:
|
|
179
|
+
extensions:
|
|
180
|
+
# Antora pipeline extensions (a different key/kind from asciidoc.extensions
|
|
181
|
+
# above — see the docs-internals skill's reference/antora-extensions.md):
|
|
182
|
+
# nav_modules-driven module switcher, an authored site footer, the search
|
|
183
|
+
# index the UI bundle's search dialog reads, and llms.txt/llms-full.txt
|
|
184
|
+
# generation for AI ingestion. `duplicateLatestVersion` additionally
|
|
185
|
+
# publishes `stable`'s content a second time under `/latest/…` — a real,
|
|
186
|
+
# independent copy, not a redirect — once a first release exists (see
|
|
187
|
+
# the `urls` note above).
|
|
188
|
+
- require: '@inditextech/docouture-antora-extensions'
|
|
189
|
+
duplicate_latest_version: true
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "__DOCOUTURE_NAME__",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "__DOCOUTURE_TITLE__ documentation, built with Antora",
|
|
6
|
+
"license": "UNLICENSED",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=24.0.0"
|
|
9
|
+
},
|
|
10
|
+
"scripts": {
|
|
11
|
+
"build": "antora --fetch antora-playbook.yml",
|
|
12
|
+
"dev": "docouture dev",
|
|
13
|
+
"clean": "node -e \"require('fs').rmSync('build', { recursive: true, force: true })\"",
|
|
14
|
+
"check-links": "node scripts/check-links.mjs"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@inditextech/docouture-cli": "__DOCOUTURE_CLI_VERSION__",
|
|
18
|
+
"@inditextech/docouture-ui-bundle": "__DOCOUTURE_CLI_VERSION__",
|
|
19
|
+
"@inditextech/docouture-asciidoc-extensions": "__DOCOUTURE_CLI_VERSION__",
|
|
20
|
+
"@inditextech/docouture-antora-extensions": "__DOCOUTURE_CLI_VERSION__",
|
|
21
|
+
"@inditextech/docouture-publish-gh-pages": "__DOCOUTURE_CLI_VERSION__",
|
|
22
|
+
"antora": "3.1.15",
|
|
23
|
+
"linkinator": "8.0.4"
|
|
24
|
+
},
|
|
25
|
+
"docouture": {
|
|
26
|
+
"publish": {
|
|
27
|
+
"gh-pages": {}
|
|
28
|
+
},
|
|
29
|
+
"checkLinks": {
|
|
30
|
+
"ignore": [
|
|
31
|
+
"*/edit/HEAD/*",
|
|
32
|
+
"https://<org>.github.io/<repo>",
|
|
33
|
+
"__DOCOUTURE_REPO_IGNORE_GLOB__"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|