The inspect report
manuscrio inspect prints a single JSON document to standard output and writes nothing else, so it
pipes cleanly into jq or a pipeline step. It never fails because of what it finds; problems are
reported as diagnostics.
The report is the source of the IDs that --edition and --manual accept, and it is the cheapest
way to see what an export will contain before spending the render.
A complete example
Section titled “A complete example”{ "framework": "docusaurus", "siteTitle": "Acme Device Documentation", "logo": "/portal/img/logo.svg", "editions": [ { "id": "default:en:current", "manualId": "default:en:current", "pluginId": "default", "locale": "en", "version": "current", "title": "Acme Device Documentation", "pages": 2, "assignedPages": 2, "unlistedPages": [], "unassignedDocumentationSets": [], "sections": [ { "id": "documentation", "manualId": "default:en:current/section/documentation", "title": "Documentation", "navbarHref": "/portal/docs/intro", "pages": 2, "sidebarRoots": [ { "id": "device-guide", "manualId": "default:en:current/root/documentation/device-guide", "title": "Device Guide", "pages": 2 } ] } ] } ], "diagnostics": []}Top level
Section titled “Top level”| Field | Meaning |
|---|---|
framework |
The adapter that read this build — docusaurus, starlight, or mkdocs — whether detected or forced with --framework. |
siteTitle |
The site’s own title, used on covers when a manual has no better one. |
logo |
The brand logo’s URL as the Site Build wrote it. Empty when discovery found nothing usable, which means an export carries the Manuscrio wordmark unless you pass --logo. It is currently always empty for Starlight and MkDocs. |
editions |
Every plugin, locale, and version combination found. |
diagnostics |
What discovery noticed. See when an export fails. |
Editions
Section titled “Editions”| Field | Meaning |
|---|---|
id, manualId |
The edition ID, plugin:locale:version. Pass it to --edition, and to --manual at edition scope. |
pluginId, locale, version |
The three parts of that ID, separately. |
title |
The edition’s title, which becomes the manual title and the PDF file name at edition scope. |
pages |
Distinct documentation routes listed by any of the edition’s sidebars. This is a count of source pages, not of PDF pages. |
assignedPages |
Distinct routes reachable under a navbar section. It is 0 for a site whose navigation has no section level, which is normal; where sections do exist, a gap between the two counts is an unattributed sidebar and is reported as a diagnostic. |
unlistedPages |
Routes rendered in the build that no sidebar links to. These are not exported. |
unassignedDocumentationSets |
Sidebar groups with no unambiguous navbar section, each with its own sidebarRoots. |
sections |
The navbar sections that carry documentation. Empty for a site that has none — always so for Starlight and MkDocs — which is not an error. |
Sections and sidebar roots
Section titled “Sections and sidebar roots”| Field | Meaning |
|---|---|
id |
The section or root ID as the site names it. |
manualId |
<edition>/section/<id> or <edition>/root/<owner>/<id>. This is the value --manual expects. |
title |
The manual title, and the PDF file name, at that scope. |
navbarHref |
Where the navbar entry points. Sections only. |
pages |
Documentation pages under that section or root. Distinct routes for a section; the root’s own page list for a root. |
sidebarRoots |
The top-level sidebar entries, each exportable on its own with --scope sidebar-root. |
Diagnostics
Section titled “Diagnostics”| Field | Meaning |
|---|---|
code |
A stable identifier, currently UNLISTED_PAGES or UNASSIGNED_DOCUMENTATION_SET. |
message |
A human-readable summary, including counts. |
routes |
The routes the diagnostic concerns. |
Picking IDs out of it
Section titled “Picking IDs out of it”The manualId at the level matching your --scope is the one to use:
manuscrio inspect ./build | jq -r '.editions[].sections[].manualId'Read manual IDs and output file names before pinning any of them in a pipeline.