The inspect report
manuscrio-pdf 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-pdf inspect ./build | jq -r '.editions[].sections[].manualId'Read manual IDs and output file names before pinning any of them in a pipeline.