Navigation from folder structure
plasmoid builds the sidebar from your folder layout — there is no separate nav
config to keep in sync. A folder is a section; a .md file is an item.
en/
index.md # the home page (not shown in the sidebar)
getting-started/ # a sidebar section
installation.md # an item
quickstart.md
reference/
cli.md
configuration.md
Structure is read from the default locale; other locales inherit it and fall back per page (see Localization).
Ordering
Two ways to order things, in priority:
- Numeric filename prefixes. Prefix a file or folder with
NN-to order it:01-getting-started/,02-authoring/. The prefix is stripped from the URL and the title —01-quickstart.mdserves at/…/quickstart/. _category.tomlin a section folder, for explicit control.
Without either, items sort alphabetically and sections sort after any that declare an order.
_category.toml
Drop a _category.toml into a section folder to override its title and ordering:
title = "Getting Started" # else the folder name, titleized
order = 1 # lower sorts first; missing sorts last
pages = ["install", "quickstart", "first-build"]
title— the section’s sidebar heading.order— the section’s position among sibling sections.pages— explicit page order, by slug (filename without the.mdextension and without anyNN-prefix). Pages you don’t list follow, in default order.
Every field is optional; an empty or absent _category.toml just means “use the
defaults”.
Nested sections
Folders nest to any depth. A folder inside a section becomes a collapsible
subsection, rendered as a native <details> disclosure — no JavaScript:
en/
authoring/
navigation.md
advanced/ # a nested subsection
_category.toml
nested-sections.md
assets-and-images.md
Each level takes its own _category.toml for title and ordering, and the URL
mirrors the folder path (/…/authoring/advanced/nested-sections/). The collapsed
group for the page you’re on — and all of its ancestors — is expanded
automatically at build time, so the reader always sees their place in the tree
without any state to manage. See the
Advanced subsection below for a live example.
Top-level pages
A .md file directly under the locale root (not in a section folder) becomes a
loose top-level sidebar item. index.md is special — it’s the
home page, not a sidebar entry.
Active state
The sidebar marks the current page with an active class and aria-current="page"
so the reader always knows where they are — no JavaScript required. Within a
collapsible nested section, the active page’s whole ancestor trail is expanded.