Troubleshooting
Fixes for the most common configuration and rendering problems.
Use this page when something in your docs is not building or rendering as expected.
A page does not show up#
Check these first:
- The page slug is listed in
docs.json. - The file exists under
content/docs. - The slug matches the file path.
Examples:
"installation"->content/docs/installation.mdx"components/tabs"->content/docs/components/tabs.mdx
The sidebar is wrong or empty#
Usually this means a navigation typo.
Check:
navigationexists indocs.json.- Each tab/group has valid
pages. - No duplicate page slugs.
- The page or an ancestor group is not marked
hidden.
Build fails after editing docs.json#
The build validates docs.json against the schema bundled with your installed
shiso version first, so read the error — it names the offending key and
suggests a fix for likely typos.
Common causes:
- Missing page file referenced in
pages - Duplicate slug entries
- Invalid object structure in navigation
- A malformed value under a supported key (e.g. a
navbarlink withouthref)
Run pnpm check:config before building to validate both configuration and
content. In addition to the schema, it checks page files, route collisions,
internal links and heading anchors, local assets, redirect destinations, and
orphaned content. Markdown and MDX diagnostics include the source line.
A redirect is not working#
- Sources are matched exactly against the full route, including the docs
prefix:
/docs/old-page, notold-page. - Wildcard patterns such as
/old/:slug*are not supported; use an exact source for each redirect. - Pages take precedence when a redirect source matches an existing page.
An icon does not render#
Icon names must exist in the lucide icon set.
Names are collected from content and docs.json at build time; a typo'd name
logs a warning in dev and renders nothing.
"Last updated" dates are missing or wrong#
Timestamps come from git history at build time:
- A file that has never been committed falls back to its filesystem date.
- CI checkouts need history for accurate dates — use
fetch-depth: 0with shallow-cloning CI systems.
"On this page" links are missing#
This section appears only when the page has headings.
Add headings like:
Page title is not what I expect#
Title priority is:
- frontmatter
title - page label in
docs.json(labelwins overtitle)
If neither is set, the label is derived from the file name.