What Quartz ships
The explorer shows the content folder as a tree in the sidebar, with collapsible folders it remembers. For a digital garden that is exactly right: you see everything, and you find everything.
For a website with sections it is not enough. It knows one form, it always shows the whole tree, and it appears once on the page. Four things many websites need cannot be built with it:
| What is missing | What it is called here |
|---|---|
| A menu bar in the header whose entries open submenus | variant: dropdown or mega |
| Only the section you are reading in the sidebar | scope: section |
| ”Previous” and “next” in reading order below the text | variant: pager |
| A sitemap in the footer | variant: columns |
And on a smartphone the menu bar should turn into something that fits in one hand — a menu behind a
burger button, for instance (mobile: offcanvas).
What this plugin does differently
One plugin, as many entries as you like. Every entry in quartz.config.yaml is a navigation of
its own with its own options. A website can carry a bar with the first level at the top, an
accordion with the current section on the left and a pager at the bottom — the same plugin three
times.
All of them read the same tree. It is built from the content folders at build time and computed only once per build, however many navigations show it (1.3).
The page has a say. Titles, order and visibility can be set in the configuration or in the
page’s own frontmatter — navOrder, navTitle, navHide, navIcon
(chapter 2).
What it does not do
- It does not force you to replace the explorer. Both can sit side by side; they share no class names and do not interfere. This website has replaced it all the same, with an accordion (8.1).
- It knows no links that are not in the content folder. A menu item “GitHub” or “Imprint on another domain” is not a page and appears in no tree. Quartz’s footer or a layout box is the place for those.
- It does not search. Search stays Quartz’s own.