renders:

  • Obsidian Bases (.base) files as interactive database-style views:
    • tables
    • lists
    • cards
    • maps
  • page frame: default page frame

Note

Configure plugins: Configuration

Features

features:

  • table view:
    • sortable columns
    • typed cell rendering:
      • strings
      • numbers
      • booleans
      • arrays
      • links
  • list view:
    • compact entries
    • metadata chips
  • cards view:
    • card layout
    • image property support
  • map view:
    • map-based visualization placeholder
  • multiple views:
    • switchable tabs
    • supports multiple views per .base file
  • filters:
    • recursive filter trees
    • operators:
      • and
      • or
      • not
  • formulas:
    • computed properties from formula expressions
  • summaries:
    • column aggregations:
      • Sum
      • Average
      • Min
      • Max
      • Median
      • etc.
  • property configuration:
    • custom property display names
  • link rendering:
    • Wikilinks in cells
    • Markdown links in cells

unlisted pages

unlisted_pages:

  • exclusion:
    • targets:
    • excluded from all base views
    • unavailable to formula .asFile() dereferencing
  • static SSR:
    • base views render server-side at build time
    • client-side decryption does not add encrypted pages to base views at runtime
    • differs from:
      • graph
      • explorer
      • search
    • matches limitations of:
      • backlinks
      • recent notes
      • folders
      • tags

Configuration

configuration:

  • defaultViewType:
    • default view type
    • default: "table"
  • linkResolution:
    • resolves internal links
    • must match markdownLinkResolution in CrawlLinks
    • options: "absolute" | "relative" | "shortest"
    • default: "shortest"
  • customViews:
    • map of custom view renderers
    • keys: view type names
    • uses:
      • override built-in views
      • add views
    • requires TS override

Default configuration

quartz.config.yaml
- source: github:quartz-community/bases-page
  enabled: true

TS Override Configuration

quartz.ts (override)
import * as ExternalPlugin from "./.quartz/plugins"
 
ExternalPlugin.BasesPage({
  defaultViewType: "table",
  customViews: {
    myView: ({ entries, view, basesData, total, locale }) => {
      // return JSX
    },
  },
})

API

api:

  • category:
    • Page Type
    • Component
  • function: ExternalPlugin.BasesPage()
  • source: quartz-community/bases-page
  • install: npx quartz plugin add github:quartz-community/bases-page