Andy Matuschak-style stacked pages (sliding panes). Clicking internal links opens pages side by side in a horizontal stack, allowing you to trace your path through your notes. Each pane shows a full page and can be individually scrolled or closed.
Note
For information on how to add, remove or configure plugins, see the Configuration page.
Usage
Once enabled, clicking any internal link on a page opens the linked page as a new pane to the right instead of navigating away. The URL updates with a #stacked=slug1,slug2 hash encoding your current stack, so you can share or bookmark a specific trail of pages.
Stacked pages are disabled on mobile by default (below 800px) since horizontal panning doesn’t work well on small screens. On mobile, links navigate normally.
Interactions
- Click a link: Opens the target page in a new pane to the right. If the maximum number of panes is reached, the leftmost pane is removed.
- Close a pane: Click the × button in the pane header to remove it from the stack.
- Collapsed spines: When panes overflow the viewport, earlier panes collapse to a thin vertical spine showing the page title. Click a spine to bring that pane back into focus.
- Browser back/forward: The full stack state is stored in the URL hash and integrated with browser history, so back/forward navigation works as expected.
Configuration
This plugin accepts the following configuration options:
paneWidth: Width of each stacked pane in pixels. Defaults to640.maxPanes: Maximum number of panes visible at once. Defaults to5.enableOnMobile: Whether to enable stacked pages on mobile devices. Defaults tofalse.mobileBreakpoint: Viewport width (in pixels) below which the mobile behavior applies. Matches the Quartz mobile breakpoint. Defaults to800.showSpines: Whether to show collapsed spine headers when panes overflow. Defaults totrue.animateTransitions: Whether to animate pane open/close transitions. Defaults totrue.
Default options
- source: github:quartz-community/stacked-pages
enabled: true
layout:
position: afterBody
priority: 50
display: all
options:
paneWidth: 640
maxPanes: 5
enableOnMobile: false
mobileBreakpoint: 800
showSpines: true
animateTransitions: trueAPI
- Category: Component
- Function name:
ExternalPlugin.StackedPages(). - Source:
quartz-community/stacked-pages - Install:
npx quartz plugin add github:quartz-community/stacked-pages