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 docs.schema.json 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)
The build prints a notice about an ignored key#
This is expected: recognized keys that Shiso does not implement yet are accepted and skipped so a shared config still builds. See Configuration for the tier policy.
A redirect is not working#
- Sources are matched exactly against the full route, including the docs
prefix:
/docs/old-page, notold-page. - Wildcard patterns (
/old/:slug*) are not implemented and are skipped with a build warning. - A redirect whose source collides with a real page is skipped — pages always win.
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.