Navigation
Products, sections, and sidebars — derived from folders, refined with meta.json.
Navigation
Fiskil Docs has no navigation config file to maintain. Structure comes from
your folders; meta.json files add explicit control exactly where you want
it. Start by choosing the shape you need:
| You want | Use | Defined by |
|---|---|---|
| Separate top-level areas (e.g. two APIs, a platform + an SDK) | Products | products in docs.json + a folder per product |
| Tabs within a product (Guides, API Reference, Changelog...) | Sections | Top-level folders under the product |
| Sidebar order, labels, grouping | meta.json | A small file per folder |
Products
{ "products": [
{ "id": "payments", "label": "Payments API" },
{ "id": "terminals", "label": "Terminals" }
] }Each product gets a switcher entry, its own URL space (/payments/...), its
own section tabs, and its own card on the generated home. Single-product
sites are perfectly normal — this site is one.
Sections
Every top-level folder under content/docs/{product}/ becomes a section
tab. Order them with the product-level meta.json:
{ "pages": ["guides", "api-reference", "changelog"] }Two behaviors to know: guides always sorts first, and /{product}
redirects to /{product}/guides — every product needs one. A section's tab
label comes from its own meta.json title; the canonical guides and
api-reference slugs keep their localized names automatically.
An API reference mounted via docs.json contributes its section tab even
with no matching content folder — add the folder only when you want
hand-written pages inside it.
Sidebars with meta.json
Inside any folder, meta.json controls that level of the sidebar:
{
"title": "Getting Started",
"pages": ["index", "quickstart", "authentication", "..."]
}The pages array mixes several kinds of entries:
| Entry | Meaning |
|---|---|
"quickstart" | A page or folder slug, in the position you want |
"..." | Everything not explicitly listed, in natural order |
"---Label---" | A labeled section heading in the sidebar |
"---" | A plain divider line |
Other fields: title (label for this folder), defaultOpen, collapsible,
icon, description.
Escalating example — a simple ordered folder, then an API-reference sidebar mixing hand-written pages, labeled sections, and generated endpoint categories:
{ "pages": ["index", "quickstart", "errors"] }{ "pages": ["...", "---Getting Started---", "authentication"] }In the second file, index and other unlisted pages come first, then a
"Getting Started" heading with the authentication page under it — and
endpoint categories from your spec can attach themselves to that same
heading via the spec's section option
(how that works). A labeled section may
even contain no pages at all, existing purely to receive endpoint
categories. This page's own sidebar — and the
live API reference — demonstrate the result.
The home page
content/docs/index.mdx is your authored landing page at /. Without it,
the engine generates a home from your products — banner, quickstart/guide/
API cards per product — which is genuinely good enough to launch with.