This plugin provides support for Obsidian Bases (.base files) in Quartz. It reads .base files from your vault, resolves matching notes based on the query definition, and renders them as interactive database-like views with support for tables, lists, cards, and maps. It uses the default page frame (three-column layout with sidebars).
Note
For information on how to add, remove or configure plugins, see the Configuration page.
Features
- Table view: Sortable columns with automatic type rendering (strings, numbers, booleans, arrays, links).
- List view: Compact list with metadata chips for each entry.
- Cards view: Card layout with optional image property support.
- Map view: Placeholder for future map-based visualization.
- Multiple views: A single
.basefile can define multiple views, displayed as switchable tabs. - Filters: Recursive filter trees with
and/or/notoperators. - Formulas: Computed properties via formula expressions.
- Summaries: Column-level aggregations (Sum, Average, Min, Max, Median, etc.).
- Property configuration: Custom display names for properties.
- Link rendering: Wikilinks and Markdown links within cell values are rendered as clickable links.
Interaction with unlisted pages
BasesPage respects the file.data.unlisted convention written by UnlistedPages and EncryptedPages. Pages marked unlisted: true (or encrypted pages with stealth: true) are excluded from every rendered base view — table, list, board, cards, gallery, and any custom view — regardless of whether the base’s filter expression would match them. Unlisted pages also cannot be dereferenced from formulas on visible pages via .asFile().
Note
Base views are server-side rendered HTML baked at build time. They do not update client-side after a visitor decrypts an encrypted page. Graph, explorer, and search all re-hydrate from the patched in-memory content index and show newly-unlocked pages for the rest of the browser session — base views do not, because they were materialized at build time with unlisted pages already excluded. A visitor who successfully decrypts a revealable encrypted page will see it appear in graph, explorer, and search, but not in any base view, until the site is rebuilt with that page listed. This is the same structural limitation that applies to backlinks, recent notes, folder listings, and tag listings.
Configuration
This plugin accepts the following configuration options:
defaultViewType: The default view type when none is specified in the.basefile. Defaults to"table".customViews: A map of custom view renderers. Keys are view type names. These override built-in renderers for the same type, or add new view types. Requires a TS override.
Default options
- source: github:quartz-community/bases-page
enabled: trueFor custom view renderers, use a TS override in quartz.ts:
import * as ExternalPlugin from "./.quartz/plugins"
ExternalPlugin.BasesPage({
defaultViewType: "table",
customViews: {
myView: ({ entries, view, basesData, total, locale }) => {
// return JSX
},
},
})API
- Category: Page Type, Component
- Function name:
ExternalPlugin.BasesPage(). - Source:
quartz-community/bases-page - Install:
npx quartz plugin add github:quartz-community/bases-page