@shoalrun/cli 0.1.0-alpha.12 → 0.1.0-alpha.14
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/CHANGELOG.md +55 -0
- package/README.md +45 -5
- package/agent-docs/.well-known/shoalrun/navigation/project-updates-50f26fe22670.txt +3 -1
- package/agent-docs/SNAPSHOT.json +5 -5
- package/agent-docs/api-docs/support.md +11 -10
- package/agent-docs/author/components.md +13 -1
- package/agent-docs/author/frontmatter-reference.md +28 -25
- package/agent-docs/author/frontmatter-reference.sections/choose-a-publication-and-visibility.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/control-output-details.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/global-defaults-and-enforced-values.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/html-markdown-and-agents.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/identify-and-route-a-page.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/point-agents-to-it.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/project-defined-fields.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/related-reading.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/use-the-local-files-while-authoring.md +3 -1
- package/agent-docs/author/frontmatter-reference.sections/when-the-files-update.md +3 -1
- package/agent-docs/author/frontmatter.md +5 -2
- package/agent-docs/author/frontmatter.sections/audience-badges.md +1 -1
- package/agent-docs/author/frontmatter.sections/give-deprecation-guidance.md +1 -1
- package/agent-docs/author/frontmatter.sections/global-defaults-and-enforced-values.md +1 -1
- package/agent-docs/author/frontmatter.sections/optional-native-fields.md +5 -2
- package/agent-docs/author/frontmatter.sections/publication-fields.md +1 -1
- package/agent-docs/author/frontmatter.sections/publishing-policy.md +1 -1
- package/agent-docs/author/frontmatter.sections/related-metadata-tasks.md +1 -1
- package/agent-docs/author/frontmatter.sections/related-reading.md +1 -1
- package/agent-docs/author/frontmatter.sections/required-after-inheritance.md +1 -1
- package/agent-docs/author/frontmatter.sections/seo-fields.md +1 -1
- package/agent-docs/author/frontmatter.sections/validation-rules.md +1 -1
- package/agent-docs/author/markdown-metadata.md +13 -5
- package/agent-docs/author/navigation.md +12 -1
- package/agent-docs/author/navigation.sections/arrange-authored-pages.md +1 -1
- package/agent-docs/author/navigation.sections/fill-an-api-tag-group.md +1 -1
- package/agent-docs/author/navigation.sections/hide-group-page-counts.md +12 -1
- package/agent-docs/author/navigation.sections/html-markdown-and-agents.md +1 -1
- package/agent-docs/author/navigation.sections/local-api-preview.md +1 -1
- package/agent-docs/author/navigation.sections/mix-guides-and-api-references.md +1 -1
- package/agent-docs/author/navigation.sections/optionally-split-a-large-menu-into-files.md +1 -1
- package/agent-docs/author/navigation.sections/reach-navigation-while-reading.md +1 -1
- package/agent-docs/author/navigation.sections/related-reading.md +1 -1
- package/agent-docs/author/navigation.sections/split-navigation-into-tabs.md +1 -1
- package/agent-docs/author/navigation.sections/subject-lifecycle-labels.md +1 -1
- package/agent-docs/author/templates.md +10 -2
- package/agent-docs/author/templates.sections/built-in-feature-templates.md +1 -1
- package/agent-docs/author/templates.sections/built-in-templates.md +1 -1
- package/agent-docs/author/templates.sections/choose-formatting-enforcement-for-your-project.md +1 -1
- package/agent-docs/author/templates.sections/create-or-edit-a-project-template.md +10 -2
- package/agent-docs/author/templates.sections/keep-the-four-shapes-distinct.md +1 -1
- package/agent-docs/author/templates.sections/project-added-templates.md +1 -1
- package/agent-docs/author/templates.sections/related-reading.md +1 -1
- package/agent-docs/author/templates.sections/scaffold-a-page.md +1 -1
- package/agent-docs/author/templates.sections/short-cli-and-derived-values.md +1 -1
- package/agent-docs/author/templates.sections/what-every-template-gives-you.md +1 -1
- package/agent-docs/author/workspace.md +7 -1
- package/agent-docs/author/writing-style.md +13 -1
- package/agent-docs/author/writing-style.sections/adapt-this-example.md +1 -1
- package/agent-docs/author/writing-style.sections/choose-components-by-reader-need.md +1 -1
- package/agent-docs/author/writing-style.sections/evidence-and-uncertainty.md +1 -1
- package/agent-docs/author/writing-style.sections/example-audience-and-scope.md +1 -1
- package/agent-docs/author/writing-style.sections/feature-availability.md +36 -0
- package/agent-docs/author/writing-style.sections/ingredients-recipes-and-cookbooks.md +1 -1
- package/agent-docs/author/writing-style.sections/page-purpose-and-structure.md +1 -1
- package/agent-docs/author/writing-style.sections/procedures-and-examples.md +1 -1
- package/agent-docs/author/writing-style.sections/related-reading.md +1 -1
- package/agent-docs/author/writing-style.sections/review-a-draft.md +1 -1
- package/agent-docs/author/writing-style.sections/reviewed-writing-examples.md +1 -1
- package/agent-docs/author/writing-style.sections/voice-and-explanations.md +1 -1
- package/agent-docs/changelog/2026-10-28.md +89 -0
- package/agent-docs/changelog.md +9 -1
- package/agent-docs/config/outputs.md +15 -11
- package/agent-docs/config/outputs.sections/exports.md +14 -11
- package/agent-docs/config/outputs.sections/metadata.md +1 -1
- package/agent-docs/config/outputs.sections/related-reading.md +1 -1
- package/agent-docs/content-delivery/agents.md +86 -0
- package/agent-docs/content-delivery/api.md +130 -0
- package/agent-docs/content-delivery/client.md +79 -0
- package/agent-docs/content-delivery/http-api/operations/get-content-representation-fa1d2e3f.md +394 -0
- package/agent-docs/content-delivery/http-api/operations/get-content-representation-head-4052375c.md +256 -0
- package/agent-docs/content-delivery/http-api/operations/get-content-resource-849f1c49.md +911 -0
- package/agent-docs/content-delivery/http-api/operations/get-content-resource-head-0a352acd.md +246 -0
- package/agent-docs/content-delivery/http-api/operations/list-content-resources-8e977ec7.md +913 -0
- package/agent-docs/content-delivery/http-api/operations/list-content-resources-head-b67cbad9.md +236 -0
- package/agent-docs/content-delivery/http-api.md +78 -0
- package/agent-docs/content-delivery/manifest.md +79 -0
- package/agent-docs/content-delivery/publish.md +72 -0
- package/agent-docs/content-delivery/render.md +73 -0
- package/agent-docs/content-delivery/rest.md +108 -0
- package/agent-docs/content-delivery/sections.md +110 -0
- package/agent-docs/content-delivery/select.md +100 -0
- package/agent-docs/content-delivery.md +79 -0
- package/agent-docs/documents.json +6748 -5073
- package/agent-docs/provenance.json +4 -4
- package/agent-docs/publish/content-export.md +32 -16
- package/agent-docs/publish/content-export.sections/assets-downloads-and-notices.md +3 -3
- package/agent-docs/publish/content-export.sections/check-the-result.md +2 -2
- package/agent-docs/publish/content-export.sections/export-selected-pages.md +12 -9
- package/agent-docs/publish/content-export.sections/inspect-the-manifest.md +5 -3
- package/agent-docs/publish/content-export.sections/prerequisites.md +3 -3
- package/agent-docs/publish/content-export.sections/related-reading.md +2 -2
- package/agent-docs/publish/content-export.sections/review-exported-api-material.md +3 -3
- package/agent-docs/publish/content-export.sections/try-the-help-drawer-example.md +3 -3
- package/agent-docs/publish/content-export.sections/upgrade-an-existing-integration.md +34 -0
- package/agent-docs/publish/content-export.sections/what-the-representations-retain.md +4 -4
- package/agent-docs/publish/mcp.md +3 -1
- package/agent-docs/publish/mcp.sections/check-budgets-and-errors.md +1 -1
- package/agent-docs/publish/mcp.sections/choose-the-documentation-source.md +1 -1
- package/agent-docs/publish/mcp.sections/configure-the-client.md +1 -1
- package/agent-docs/publish/mcp.sections/generate-a-vercel-endpoint.md +1 -1
- package/agent-docs/publish/mcp.sections/related-reading.md +3 -1
- package/agent-docs/publish/mcp.sections/search-then-read.md +1 -1
- package/agent-docs/publish/mcp.sections/serve-a-public-endpoint-on-node.md +1 -1
- package/agent-docs/publish/mcp.sections/verify-the-connection.md +1 -1
- package/agent-docs/publish/mcp.sections/why-offer-mcp-for-public-docs.md +1 -1
- package/agent-docs/publish/seo.md +16 -2
- package/agent-docs/publish/seo.sections/related-reading.md +28 -0
- package/agent-docs/publish/seo.sections/set-the-public-address.md +36 -0
- package/agent-docs/publish/seo.sections/what-agents-receive.md +28 -0
- package/agent-docs/publish/seo.sections/what-the-build-adds.md +42 -0
- package/agent-docs/publish/seo.sections/write-the-page-title-and-summary.md +43 -0
- package/agent-docs/search-index.json +1 -1
- package/agent-docs/styling/layouts.md +21 -3
- package/agent-docs/styling/layouts.sections/build-a-landing-page.md +6 -3
- package/agent-docs/styling/layouts.sections/build-a-splash-page.md +6 -3
- package/agent-docs/styling/layouts.sections/control-navigation-tabs.md +6 -3
- package/agent-docs/styling/layouts.sections/customize-the-hero.md +6 -3
- package/agent-docs/styling/layouts.sections/hero.md +6 -3
- package/agent-docs/styling/layouts.sections/hide-the-table-of-contents-or-give-content-more-room.md +54 -0
- package/agent-docs/styling/layouts.sections/html-markdown-and-agents.md +6 -3
- package/agent-docs/styling/layouts.sections/related-reading.md +6 -3
- package/dist/api.js +70 -3
- package/dist/authoring-hints.d.ts +3 -0
- package/dist/authoring-hints.js +35 -0
- package/dist/authoring-project.d.ts +1 -1
- package/dist/authoring-project.js +2 -0
- package/dist/authoring-validation.js +2 -0
- package/dist/code-samples.js +22 -11
- package/dist/compiler-config.d.ts +1 -0
- package/dist/compiler-config.js +13 -0
- package/dist/compiler.js +2 -1
- package/dist/component-names.js +1 -1
- package/dist/component-transform.js +7 -1
- package/dist/content-delivery-contract.d.ts +108 -0
- package/dist/content-delivery-contract.js +15 -0
- package/dist/content-delivery-transport.d.ts +3 -0
- package/dist/content-delivery-transport.js +47 -0
- package/dist/content-delivery-validation.d.ts +7 -0
- package/dist/content-delivery-validation.js +122 -0
- package/dist/content-delivery.d.ts +21 -0
- package/dist/content-delivery.js +119 -0
- package/dist/content-export-anchors.d.ts +11 -0
- package/dist/content-export-anchors.js +79 -0
- package/dist/content-export-command.d.ts +4 -2
- package/dist/content-export-command.js +15 -2
- package/dist/content-export-comparison.d.ts +16 -0
- package/dist/content-export-comparison.js +48 -0
- package/dist/content-export-config.d.ts +17 -0
- package/dist/content-export-config.js +47 -3
- package/dist/content-export-render.js +20 -1
- package/dist/content-export.d.ts +5 -1
- package/dist/content-export.js +193 -40
- package/dist/content-mount.d.ts +11 -0
- package/dist/content-mount.js +73 -0
- package/dist/content-rest-client.d.ts +12 -0
- package/dist/content-rest-client.js +162 -0
- package/dist/content-rest-contract.d.ts +27 -0
- package/dist/content-rest-contract.js +9 -0
- package/dist/content-rest-server.d.ts +7 -0
- package/dist/content-rest-server.js +99 -0
- package/dist/content-source.d.ts +3 -1
- package/dist/frontmatter.js +8 -7
- package/dist/html-renderer.js +25 -0
- package/dist/markdown-sections.d.ts +2 -1
- package/dist/markdown-sections.js +8 -18
- package/dist/page-renderer.js +5 -3
- package/dist/publication-plan.js +2 -1
- package/dist/scaffold-placeholders.d.ts +2 -0
- package/dist/scaffold-placeholders.js +19 -0
- package/dist/section-identity.d.ts +24 -0
- package/dist/section-identity.js +137 -0
- package/examples/content-delivery/README.md +87 -0
- package/examples/content-delivery/app.js +91 -0
- package/examples/content-delivery/content/billing.mdx +22 -0
- package/examples/content-delivery/docs.config.yaml +36 -0
- package/examples/content-delivery/index.html +25 -0
- package/examples/content-delivery/preview.mjs +86 -0
- package/examples/content-delivery/snippets/refund-window.mdx +3 -0
- package/examples/help-drawer/README.md +2 -2
- package/examples/help-drawer/app.js +3 -3
- package/package.json +6 -3
- package/schemas/content-export.schema.json +469 -33
- package/schemas/content-rest.openapi.json +1627 -0
- package/skills/shoalrun-author/SKILL.md +2 -0
- package/styles/site.css +9 -4
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"siteBuild": {
|
|
4
4
|
"schemaVersion": 1,
|
|
5
|
-
"configDigest": "
|
|
6
|
-
"buildId": "
|
|
5
|
+
"configDigest": "31d33ea2d00a4333e120d37f58251238c0698e62f7320dccdaf1c2ace8df78fd",
|
|
6
|
+
"buildId": "38aac8472fa1fad778acd5b5bdc30067474eca35755706d09f916914326ed2f0"
|
|
7
7
|
},
|
|
8
|
-
"packageIntegrity": "sha512-
|
|
9
|
-
"manifestDigest": "
|
|
8
|
+
"packageIntegrity": "sha512-Qs6yv+QFvt6L5huiKFQfIT5FYexxbSokwUVUnxIrXUx2TtY/VTdG0EKAJJuCLLi6FcrYVbnI/mC9uWqJ9nflsw==",
|
|
9
|
+
"manifestDigest": "c99f0684ea93c4add58ddee1fd19dc82fa1acd9099d6cc2b4b226a0ef85302fe"
|
|
10
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,16 +16,27 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Keep application help and your documentation website in one content source. `shoalrun export` produces a directory of resolved Markdown, passive HTML fragments, referenced assets, and a manifest. Your application owns the help drawer, onboarding screen, or other interface that displays the content. It does not need a Shoalrun browser runtime.
|
|
22
22
|
|
|
23
23
|
## Prerequisites
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Install Shoalrun `0.1.0-alpha.13` or newer in the documentation project. This guide uses the resource-based export manifest described in the [manifest reference](https://www.shoalrun.com/content-delivery/manifest.md).
|
|
26
26
|
|
|
27
27
|
Start with a Shoalrun project and public pages assigned to an enabled publication. Navigation, facets, a site title, and a previous website build are optional. A site origin is needed only when links must fall back to pages on the documentation website. The export does not generate embeddings or run documentation chat.
|
|
28
28
|
|
|
29
|
+
## Upgrade an existing integration
|
|
30
|
+
|
|
31
|
+
If an existing bundle contains `manifest.documents`, upgrade the CLI and rebuild the export before using this guide's loader. Update custom consumers to the resource contract:
|
|
32
|
+
|
|
33
|
+
- Read `manifest.resources` instead of `manifest.documents`.
|
|
34
|
+
- Select page resources with `ref.kind === 'page'` and `ref.documentId` instead of a document's `id`.
|
|
35
|
+
- Route links with `kind: resource` through their typed `ref`, rather than `kind: document` and `documentId`.
|
|
36
|
+
- Read file paths from the rebuilt manifest; do not retain paths from the old bundle.
|
|
37
|
+
|
|
38
|
+
The `documents` configuration selector remains shorthand for whole pages. Use [resource selectors](https://www.shoalrun.com/content-delivery/select.md) when selecting approved sections or named snippet instances.
|
|
39
|
+
|
|
29
40
|
## Export selected pages
|
|
30
41
|
|
|
31
42
|
1. ## Define an export target
|
|
@@ -40,7 +51,7 @@ Start with a Shoalrun project and public pages assigned to an enabled publicatio
|
|
|
40
51
|
publicBase: /help/
|
|
41
52
|
```
|
|
42
53
|
|
|
43
|
-
Omit `documents` to export all eligible public pages in one enabled publication. If more than one publication is enabled, select all three coordinates:
|
|
54
|
+
Omit both `documents` and `resources` to export all eligible public pages in one enabled publication. If more than one publication is enabled, select all three coordinates:
|
|
44
55
|
|
|
45
56
|
```yaml
|
|
46
57
|
exports:
|
|
@@ -60,7 +71,7 @@ Start with a Shoalrun project and public pages assigned to an enabled publicatio
|
|
|
60
71
|
From the documentation project, run:
|
|
61
72
|
|
|
62
73
|
```sh
|
|
63
|
-
shoalrun export docs.config.yaml --target app-help --out ../app/public/help
|
|
74
|
+
npx --no-install shoalrun export docs.config.yaml --target app-help --out ../app/public/help
|
|
64
75
|
```
|
|
65
76
|
|
|
66
77
|
Replace the output path with the directory your application will distribute. The command prints JSON with its publication, formats, selected document IDs, asset count, digest, API review requirements, and diagnostics. A successful export replaces an earlier export in that directory. A failure preserves it. Source directories, unrelated nonempty directories, and previous website builds cannot be used as the export destination.
|
|
@@ -77,12 +88,12 @@ Start with a Shoalrun project and public pages assigned to an enabled publicatio
|
|
|
77
88
|
NOTICES.txt
|
|
78
89
|
```
|
|
79
90
|
|
|
80
|
-
File names derive from
|
|
91
|
+
File names derive from typed resource identity and publication, not titles or source-file names. Read paths from the manifest rather than constructing them in your app.
|
|
81
92
|
|
|
82
93
|
For a one-off export without a named target:
|
|
83
94
|
|
|
84
95
|
```sh
|
|
85
|
-
shoalrun export docs.config.yaml --out ../app/public/help \
|
|
96
|
+
npx --no-install shoalrun export docs.config.yaml --out ../app/public/help \
|
|
86
97
|
--format html --document guide.api-keys --document guide.billing \
|
|
87
98
|
--public-base /help/
|
|
88
99
|
```
|
|
@@ -97,10 +108,13 @@ Start with a Shoalrun project and public pages assigned to an enabled publicatio
|
|
|
97
108
|
|
|
98
109
|
```js
|
|
99
110
|
const manifest = await fetch('/help/manifest.json').then(response => response.json());
|
|
100
|
-
if (manifest.schemaVersion !== 1 || manifest.review
|
|
111
|
+
if (manifest.schemaVersion !== 1 || manifest.review?.status !== 'ok' ||
|
|
112
|
+
!Array.isArray(manifest.resources)) {
|
|
101
113
|
throw new Error('Unsupported or unreviewed help export');
|
|
102
114
|
}
|
|
103
|
-
const help = manifest.
|
|
115
|
+
const help = manifest.resources.find(resource =>
|
|
116
|
+
resource.ref.kind === 'page' && resource.ref.documentId === 'guide.api-keys');
|
|
117
|
+
if (!help?.representations.html) throw new Error('API-key HTML is unavailable');
|
|
104
118
|
const html = await fetch(manifest.publicBase + help.representations.html.path)
|
|
105
119
|
.then(response => response.text());
|
|
106
120
|
helpContainer.innerHTML = html;
|
|
@@ -112,7 +126,7 @@ Start with a Shoalrun project and public pages assigned to an enabled publicatio
|
|
|
112
126
|
|
|
113
127
|
4. ## Handle document links and check the result
|
|
114
128
|
|
|
115
|
-
Links to other exported pages have `data-export-link` markers. Each marker identifies a record in that representation's `links` array. For `kind:
|
|
129
|
+
Links to other exported pages have `data-export-link` markers. Each marker identifies a record in that representation's `links` array. For `kind: resource`, your app can prevent ordinary navigation and retrieve the target using its typed `ref`. A page reference contains `kind: page` and `documentId`; section and snippet references have their own identity fields. `fragment` identifies the original heading or anchor; the HTML representation's `anchors` array maps it to its namespaced `exportedId`.
|
|
116
130
|
|
|
117
131
|
A link to an omitted document uses its canonical website URL only when that document is public, enabled, and selected for the website. Without an eligible destination and a configured origin, the export fails. Linked pages are never silently added to the export. Explicit external links retain their destinations.
|
|
118
132
|
|
|
@@ -136,9 +150,9 @@ Exports resolve snippets, supported components, and API material before renderin
|
|
|
136
150
|
|
|
137
151
|
HTML contains no site navigation, theme, required scripts, or app-wide stylesheet. It remains readable without CSS; your app styles its content container. HTML and Markdown are rendered independently from the same resolved source, so [representation-specific blocks](https://www.shoalrun.com/author/components/only.md) retain their intended differences.
|
|
138
152
|
|
|
139
|
-
HTML heading, footnote, and other IDs are namespaced per
|
|
153
|
+
HTML heading, footnote, and other IDs are namespaced per resource. Directly inserting the same HTML more than once can duplicate IDs. Use [mountContent](https://www.shoalrun.com/content-delivery/render.md) for simultaneous instances; it rewrites IDs and their fragment and ARIA references for each mount. Markdown heading anchors depend on the customer's renderer; the export does not promise identical anchor generation across Markdown libraries.
|
|
140
154
|
|
|
141
|
-
|
|
155
|
+
Exports support pages, explicitly approved sections, and named snippet instances. Application section fragments use `{ id, context: section }` approval; they are separate from the website's size-based contextual agent sections. See [select content resources](https://www.shoalrun.com/content-delivery/select.md) for configuration and approval examples.
|
|
142
156
|
|
|
143
157
|
## Assets, downloads, and notices
|
|
144
158
|
|
|
@@ -155,14 +169,14 @@ exports:
|
|
|
155
169
|
|
|
156
170
|
Supported files include PNG, JPEG, GIF, WebP, AVIF, passive SVG, PDF, plain text, CSV, JSON, and YAML. Local assets use content-hashed paths. Unsupported asset types, missing files, symlink escapes, active SVG, and unresolved local links fail the export. Asset directories are not copied wholesale. Self-contained focused OpenAPI downloads are included when referenced.
|
|
157
171
|
|
|
158
|
-
Remote images are not downloaded. The manifest records them in each
|
|
172
|
+
Remote images are not downloaded. The manifest records them in each resource's `externalDependencies`, and the command reports them in diagnostics. A document with a remote image is not offline-complete. Explicit notice files and applicable diagram-renderer notices are retained in `NOTICES.txt`.
|
|
159
173
|
|
|
160
174
|
## Review exported API material
|
|
161
175
|
|
|
162
176
|
The export preserves the API source-review gate. If its selected API material has no matching review digest, the normal command fails before replacing the previous bundle. Produce a candidate for inspection with:
|
|
163
177
|
|
|
164
178
|
```sh
|
|
165
|
-
shoalrun export docs.config.yaml --target app-help --out review/app-help --review
|
|
179
|
+
npx --no-install shoalrun export docs.config.yaml --target app-help --out review/app-help --review
|
|
166
180
|
```
|
|
167
181
|
|
|
168
182
|
A candidate needing review reports `status: needs-review`, sets `manifest.review.status: required`, and exits with code 2. Inspect its references and downloads, then pin the reported API digests to the target:
|
|
@@ -180,7 +194,9 @@ Run the normal export command again. Changed source bytes or exposed API selecti
|
|
|
180
194
|
|
|
181
195
|
## Inspect the manifest
|
|
182
196
|
|
|
183
|
-
The
|
|
197
|
+
The manifest uses typed `resources` for pages, sections, and snippet instances. See the [manifest contract](https://www.shoalrun.com/content-delivery/manifest.md) and [content client](https://www.shoalrun.com/content-delivery/client.md) for resource lookup and retrieval.
|
|
198
|
+
|
|
199
|
+
The versioned `manifest.json` identifies resources by typed reference and publication. It includes titles, summaries, types, eligible canonical URLs, representation paths and digests, typed links, HTML anchor maps, local assets, external image dependencies, and diagnostics. It does not copy raw source frontmatter, configuration, local dependency paths, or browser runtime payloads.
|
|
184
200
|
|
|
185
201
|
The bundle's `digest` is the SHA-256 of `JSON.stringify` of the parsed manifest with its own `digest` field removed. The `files` list records byte counts and SHA-256 digests for every payload file, including notices. All text is UTF-8. The manifest itself is excluded from that list. Deterministic output lets applications compare bundles and invalidate cached content.
|
|
186
202
|
|
|
@@ -189,7 +205,7 @@ The bundle's `digest` is the SHA-256 of `JSON.stringify` of the parsed manifest
|
|
|
189
205
|
The package's `examples/help-drawer` directory contains a small application with two help documents, an image, a diagram, reader sections, tabs, a walkthrough, and a custom component. Copy it into a project with Shoalrun installed, then run from that example directory:
|
|
190
206
|
|
|
191
207
|
```sh
|
|
192
|
-
shoalrun export docs.config.yaml --target app-help --out public/help
|
|
208
|
+
npx --no-install shoalrun export docs.config.yaml --target app-help --out public/help
|
|
193
209
|
node preview.mjs
|
|
194
210
|
```
|
|
195
211
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -37,4 +37,4 @@ exports:
|
|
|
37
37
|
|
|
38
38
|
Supported files include PNG, JPEG, GIF, WebP, AVIF, passive SVG, PDF, plain text, CSV, JSON, and YAML. Local assets use content-hashed paths. Unsupported asset types, missing files, symlink escapes, active SVG, and unresolved local links fail the export. Asset directories are not copied wholesale. Self-contained focused OpenAPI downloads are included when referenced.
|
|
39
39
|
|
|
40
|
-
Remote images are not downloaded. The manifest records them in each
|
|
40
|
+
Remote images are not downloaded. The manifest records them in each resource's `externalDependencies`, and the command reports them in diagnostics. A document with a remote image is not offline-complete. Explicit notice files and applicable diagram-renderer notices are retained in `NOTICES.txt`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -36,7 +36,7 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
36
36
|
publicBase: /help/
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
Omit `documents` to export all eligible public pages in one enabled publication. If more than one publication is enabled, select all three coordinates:
|
|
39
|
+
Omit both `documents` and `resources` to export all eligible public pages in one enabled publication. If more than one publication is enabled, select all three coordinates:
|
|
40
40
|
|
|
41
41
|
```yaml
|
|
42
42
|
exports:
|
|
@@ -56,7 +56,7 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
56
56
|
From the documentation project, run:
|
|
57
57
|
|
|
58
58
|
```sh
|
|
59
|
-
shoalrun export docs.config.yaml --target app-help --out ../app/public/help
|
|
59
|
+
npx --no-install shoalrun export docs.config.yaml --target app-help --out ../app/public/help
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
Replace the output path with the directory your application will distribute. The command prints JSON with its publication, formats, selected document IDs, asset count, digest, API review requirements, and diagnostics. A successful export replaces an earlier export in that directory. A failure preserves it. Source directories, unrelated nonempty directories, and previous website builds cannot be used as the export destination.
|
|
@@ -73,12 +73,12 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
73
73
|
NOTICES.txt
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
-
File names derive from
|
|
76
|
+
File names derive from typed resource identity and publication, not titles or source-file names. Read paths from the manifest rather than constructing them in your app.
|
|
77
77
|
|
|
78
78
|
For a one-off export without a named target:
|
|
79
79
|
|
|
80
80
|
```sh
|
|
81
|
-
shoalrun export docs.config.yaml --out ../app/public/help \
|
|
81
|
+
npx --no-install shoalrun export docs.config.yaml --out ../app/public/help \
|
|
82
82
|
--format html --document guide.api-keys --document guide.billing \
|
|
83
83
|
--public-base /help/
|
|
84
84
|
```
|
|
@@ -93,10 +93,13 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
93
93
|
|
|
94
94
|
```js
|
|
95
95
|
const manifest = await fetch('/help/manifest.json').then(response => response.json());
|
|
96
|
-
if (manifest.schemaVersion !== 1 || manifest.review
|
|
96
|
+
if (manifest.schemaVersion !== 1 || manifest.review?.status !== 'ok' ||
|
|
97
|
+
!Array.isArray(manifest.resources)) {
|
|
97
98
|
throw new Error('Unsupported or unreviewed help export');
|
|
98
99
|
}
|
|
99
|
-
const help = manifest.
|
|
100
|
+
const help = manifest.resources.find(resource =>
|
|
101
|
+
resource.ref.kind === 'page' && resource.ref.documentId === 'guide.api-keys');
|
|
102
|
+
if (!help?.representations.html) throw new Error('API-key HTML is unavailable');
|
|
100
103
|
const html = await fetch(manifest.publicBase + help.representations.html.path)
|
|
101
104
|
.then(response => response.text());
|
|
102
105
|
helpContainer.innerHTML = html;
|
|
@@ -108,6 +111,6 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
108
111
|
|
|
109
112
|
4. ## Handle document links and check the result
|
|
110
113
|
|
|
111
|
-
Links to other exported pages have `data-export-link` markers. Each marker identifies a record in that representation's `links` array. For `kind:
|
|
114
|
+
Links to other exported pages have `data-export-link` markers. Each marker identifies a record in that representation's `links` array. For `kind: resource`, your app can prevent ordinary navigation and retrieve the target using its typed `ref`. A page reference contains `kind: page` and `documentId`; section and snippet references have their own identity fields. `fragment` identifies the original heading or anchor; the HTML representation's `anchors` array maps it to its namespaced `exportedId`.
|
|
112
115
|
|
|
113
116
|
A link to an omitted document uses its canonical website URL only when that document is public, enabled, and selected for the website. Without an eligible destination and a configured origin, the export fails. Linked pages are never silently added to the export. Explicit external links retain their destinations.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -24,6 +24,8 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
24
24
|
|
|
25
25
|
## Inspect the manifest
|
|
26
26
|
|
|
27
|
-
The
|
|
27
|
+
The manifest uses typed `resources` for pages, sections, and snippet instances. See the [manifest contract](https://www.shoalrun.com/content-delivery/manifest.md) and [content client](https://www.shoalrun.com/content-delivery/client.md) for resource lookup and retrieval.
|
|
28
|
+
|
|
29
|
+
The versioned `manifest.json` identifies resources by typed reference and publication. It includes titles, summaries, types, eligible canonical URLs, representation paths and digests, typed links, HTML anchor maps, local assets, external image dependencies, and diagnostics. It does not copy raw source frontmatter, configuration, local dependency paths, or browser runtime payloads.
|
|
28
30
|
|
|
29
31
|
The bundle's `digest` is the SHA-256 of `JSON.stringify` of the parsed manifest with its own `digest` field removed. The `files` list records byte counts and SHA-256 digests for every payload file, including notices. All text is UTF-8. The manifest itself is excluded from that list. Deterministic output lets applications compare bundles and invalidate cached content.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -24,6 +24,6 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
24
24
|
|
|
25
25
|
## Prerequisites
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Install Shoalrun `0.1.0-alpha.13` or newer in the documentation project. This guide uses the resource-based export manifest described in the [manifest reference](https://www.shoalrun.com/content-delivery/manifest.md).
|
|
28
28
|
|
|
29
29
|
Start with a Shoalrun project and public pages assigned to an enabled publication. Navigation, facets, a site title, and a previous website build are optional. A site origin is needed only when links must fall back to pages on the documentation website. The export does not generate embeddings or run documentation chat.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -27,7 +27,7 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
27
27
|
The export preserves the API source-review gate. If its selected API material has no matching review digest, the normal command fails before replacing the previous bundle. Produce a candidate for inspection with:
|
|
28
28
|
|
|
29
29
|
```sh
|
|
30
|
-
shoalrun export docs.config.yaml --target app-help --out review/app-help --review
|
|
30
|
+
npx --no-install shoalrun export docs.config.yaml --target app-help --out review/app-help --review
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
A candidate needing review reports `status: needs-review`, sets `manifest.review.status: required`, and exits with code 2. Inspect its references and downloads, then pin the reported API digests to the target:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -27,7 +27,7 @@ Keep application help and your documentation website in one content source. `sho
|
|
|
27
27
|
The package's `examples/help-drawer` directory contains a small application with two help documents, an image, a diagram, reader sections, tabs, a walkthrough, and a custom component. Copy it into a project with Shoalrun installed, then run from that example directory:
|
|
28
28
|
|
|
29
29
|
```sh
|
|
30
|
-
shoalrun export docs.config.yaml --target app-help --out public/help
|
|
30
|
+
npx --no-install shoalrun export docs.config.yaml --target app-help --out public/help
|
|
31
31
|
node preview.mjs
|
|
32
32
|
```
|
|
33
33
|
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: guide.content-export
|
|
3
|
+
title: Export content into your application
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
|
+
type: how-to
|
|
6
|
+
area: publishing
|
|
7
|
+
subarea: publishing-builds
|
|
8
|
+
canonical: /publish/content-export
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Export content into your application
|
|
12
|
+
|
|
13
|
+
> Documentation index: [llms.min.txt](https://www.shoalrun.com/llms.min.txt) · Document manifest: [documents.json](https://www.shoalrun.com/documents.json)
|
|
14
|
+
|
|
15
|
+
Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigation/docs-50f26fe22670.txt) (ID: docs). [All sections and pages](https://www.shoalrun.com/llms.min.txt)
|
|
16
|
+
|
|
17
|
+
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
|
+
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
|
+
|
|
21
|
+
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
|
+
|
|
23
|
+
Keep application help and your documentation website in one content source. `shoalrun export` produces a directory of resolved Markdown, passive HTML fragments, referenced assets, and a manifest. Your application owns the help drawer, onboarding screen, or other interface that displays the content. It does not need a Shoalrun browser runtime.
|
|
24
|
+
|
|
25
|
+
## Upgrade an existing integration
|
|
26
|
+
|
|
27
|
+
If an existing bundle contains `manifest.documents`, upgrade the CLI and rebuild the export before using this guide's loader. Update custom consumers to the resource contract:
|
|
28
|
+
|
|
29
|
+
- Read `manifest.resources` instead of `manifest.documents`.
|
|
30
|
+
- Select page resources with `ref.kind === 'page'` and `ref.documentId` instead of a document's `id`.
|
|
31
|
+
- Route links with `kind: resource` through their typed `ref`, rather than `kind: document` and `documentId`.
|
|
32
|
+
- Read file paths from the rebuilt manifest; do not retain paths from the old bundle.
|
|
33
|
+
|
|
34
|
+
The `documents` configuration selector remains shorthand for whole pages. Use [resource selectors](https://www.shoalrun.com/content-delivery/select.md) when selecting approved sections or named snippet instances.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
id: guide.content-export
|
|
3
3
|
title: Export content into your application
|
|
4
|
-
summary: Export
|
|
4
|
+
summary: Export selected documentation and assets for your application.
|
|
5
5
|
type: how-to
|
|
6
6
|
area: publishing
|
|
7
7
|
subarea: publishing-builds
|
|
@@ -16,7 +16,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
16
16
|
|
|
17
17
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > Export content into your application
|
|
18
18
|
|
|
19
|
-
**Updated: 2026-10-
|
|
19
|
+
**Updated: 2026-10-29.**
|
|
20
20
|
|
|
21
21
|
Parent page: [Full Markdown page](/publish/content-export.md)
|
|
22
22
|
|
|
@@ -38,6 +38,6 @@ Exports resolve snippets, supported components, and API material before renderin
|
|
|
38
38
|
|
|
39
39
|
HTML contains no site navigation, theme, required scripts, or app-wide stylesheet. It remains readable without CSS; your app styles its content container. HTML and Markdown are rendered independently from the same resolved source, so [representation-specific blocks](https://www.shoalrun.com/author/components/only.md) retain their intended differences.
|
|
40
40
|
|
|
41
|
-
HTML heading, footnote, and other IDs are namespaced per
|
|
41
|
+
HTML heading, footnote, and other IDs are namespaced per resource. Directly inserting the same HTML more than once can duplicate IDs. Use [mountContent](https://www.shoalrun.com/content-delivery/render.md) for simultaneous instances; it rewrites IDs and their fragment and ARIA references for each mount. Markdown heading anchors depend on the customer's renderer; the export does not promise identical anchor generation across Markdown libraries.
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Exports support pages, explicitly approved sections, and named snippet instances. Application section fragments use `{ id, context: section }` approval; they are separate from the website's size-based contextual agent sections. See [select content resources](https://www.shoalrun.com/content-delivery/select.md) for configuration and approval examples.
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Connect an MCP client to built documentation through four read-only tools. Use stdio for a client-launched local process, or enable an HTTP endpoint on Node or in a generated Vercel function. Both use the same search and Markdown reading core.
|
|
23
23
|
|
|
@@ -187,4 +187,6 @@ The tools are read-only and do not expose authoring commands. Stdio makes them a
|
|
|
187
187
|
|
|
188
188
|
### Related topics
|
|
189
189
|
|
|
190
|
+
- [Content delivery and agents](https://www.shoalrun.com/content-delivery/agents.md) — Use existing documentation MCP tools for contextual reads.
|
|
191
|
+
|
|
190
192
|
- [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — Understand the published Markdown and discovery surfaces alongside MCP.
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -39,4 +39,6 @@ You need Node.js 22.12 or newer, the installed Shoalrun CLI, and a client that s
|
|
|
39
39
|
|
|
40
40
|
### Related topics
|
|
41
41
|
|
|
42
|
+
- [Content delivery and agents](https://www.shoalrun.com/content-delivery/agents.md) — Use existing documentation MCP tools for contextual reads.
|
|
43
|
+
|
|
42
44
|
- [Agent-friendly documentation](https://www.shoalrun.com/publish/agent-friendliness.md) — Understand the published Markdown and discovery surfaces alongside MCP.
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Search, chat, and agent access > MCP > Connect an MCP client
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
Parent page: [Full Markdown page](/publish/mcp.md)
|
|
23
23
|
|
|
@@ -17,7 +17,7 @@ Navigation section: [Docs](https://www.shoalrun.com/.well-known/shoalrun/navigat
|
|
|
17
17
|
|
|
18
18
|
Breadcrumbs: [Docs](https://www.shoalrun.com/what-is-shoalrun.md) > Publish and maintain > SEO and social previews
|
|
19
19
|
|
|
20
|
-
**Updated: 2026-10-
|
|
20
|
+
**Updated: 2026-10-29.**
|
|
21
21
|
|
|
22
22
|
When someone shares a docs link, Slack and other services fetch the page's HTML and look for a title, description, and image. Shoalrun writes these tags at build time from page metadata and can generate a share image for every page. Start with a clear page `title` and a one-sentence `summary`; you do not need to hand-write Open Graph or Twitter tags.
|
|
23
23
|
|
|
@@ -106,7 +106,21 @@ Set native frontmatter `verified` only when someone checks the page's technical
|
|
|
106
106
|
verified: 2026-10-01
|
|
107
107
|
```
|
|
108
108
|
|
|
109
|
-
The HTML page
|
|
109
|
+
The standard HTML page header displays `Verified` with a semantic `<time>` element. Markdown and `documents.json` expose the same date independently of `Updated`, which records content revision. A build never assigns `verified`; a build or editorial review alone does not establish technical verification.
|
|
110
|
+
|
|
111
|
+
The HTML verification-date display and `showVerified` setting are available since `0.1.0-alpha.13`.
|
|
112
|
+
|
|
113
|
+
Set `showVerified: false` in a page's frontmatter to hide the verification date in HTML only. It remains in Markdown and the manifest. The default is `true`. To hide it throughout a project, set a shared default:
|
|
114
|
+
|
|
115
|
+
```yaml title="docs.config.yaml"
|
|
116
|
+
frontmatter:
|
|
117
|
+
defaults:
|
|
118
|
+
showVerified: false
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
An individual page can override that default with `showVerified: true`. A page using a Hero replaces the standard header, so its header dates are not displayed.
|
|
122
|
+
|
|
123
|
+
This project also declares private `editorial.lastVerified` and `editorial.verificationNote` fields for internal review notes; use native `verified` when the date should be public. A rebuild or unchanged-content file touch establishes neither a content change nor verification.
|
|
110
124
|
|
|
111
125
|
Search indexing still depends on the public host and crawler access; metadata alone does not guarantee it. If Slack does not unfurl after a corrected deployment, confirm the page and image are public, then try sharing the link in a new conversation. [Slack may omit a preview](https://slack.com/help/articles/204399343-Share-links-and-set-preview-preferences) when the same link was recently posted in that conversation.
|
|
112
126
|
|