quartz/docs/plugins/BasesPage.md
2026-02-26 22:18:49 +01:00

2.4 KiB

title tags
BasesPage
plugin/pageType
plugin/component

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.

See navigation.base for a live demo showcasing all supported features.

!navigation.base

Note

For information on how to add, remove or configure plugins, see the configuration#Plugins 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 .base file can define multiple views, displayed as switchable tabs.
  • Filters: Recursive filter trees with and/or/not operators.
  • 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.

Configuration

This plugin accepts the following configuration options:

  • defaultViewType: The default view type when none is specified in the .base file. 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: true

For 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