Time GardenDocumentation

Bases & Database Views

Bases are Obsidian’s built-in database feature — the engine that turns category pages into auto-aggregating tables.

A base is Obsidian's built-in database feature. It looks at your vault and gives you a live, sortable, filterable table of notes that match a query. The Celestial Vault uses bases as the engine that powers every category page.


What A Base Looks Like

When you open Books.md (or Movies.md, People.md, etc.), most of the page is taken up by an embedded database view that looks something like:

TitleAuthorStatusRating
Atomic HabitsJames ClearRead8
The Great GatsbyF. Scott FitzgeraldReading
Designing Data-Intensive AppsMartin KleppmannTo read

Sortable. Filterable. Click any row to open the underlying note.

This isn't manually maintained. It's automatically generated from every note in your vault whose categories: property contains *Books*.


How Bases Work In Celestial

Every category page (the 36 that ship + any you create) embeds a base. The base is configured to:

  • Filter notes where categories.contains(link("Books")) (or whichever category)
  • Show specific columns from the matched notes' frontmatter (e.g., author, status, rating)
  • Sort by a default column (e.g., creation date or rating)

The columns and filter live in a .base file — one per category — usually next to the corresponding .md page. So:

  • Books.md is the category page
  • Books.base is the database query

The page embeds the base via a special syntax. Open Books.md in source mode and you'll see the embed line.


The Bases That Ship

The Celestial Vault ships with 45 .base files, configured to power:

  • The 36 category pages at the vault root
  • Plus a few specialty views (e.g., a "today's links" view inside daily notes, or a Locked-notes-only view)

You don't need to touch them to start using the vault. They work out of the box.


Customizing A Base

If you want to change what columns show on a category page, or how it's sorted:

  1. Open the .base file (e.g., Books.base)
  2. Edit it — .base files are YAML / structured files; the syntax is documented in Obsidian's bases docs
  3. Save

The corresponding category page updates automatically.

Adding a column.

Want your Books.base to also show whether the book is recommended by someone? Add a recommendedBy column to the base config, then add recommendedBy: "*Sasha*" to the relevant book notes' frontmatter. The new column appears in the table.


Creating A New Category + Base

If you want a new category — say *Hobbies* — and a corresponding database view:

Quick path: just create the category page

  1. Create Hobbies.md at the vault root
  2. Use the standard category-page template (see existing pages like Books.md for reference)
  3. Either:
    • Copy Books.base, rename to Hobbies.base, and edit its filter to categories.contains(link("Hobbies"))
    • Or use Obsidian's bases UI to create a new base inline

Even quicker: use the category template

The Celestial Vault ships with a Category Template.md in Templates/. Run it via Cmd/Ctrl + P → "Templater: insert template" → pick the category template. It generates a fresh category page with a pre-wired base.

(More on templates: Adjusting Templates Yourself.)


Bases vs. Dataview

If you've used Obsidian before, you may know Dataview — a community plugin that does similar table-querying. Both Bases and Dataview can produce category-style views. Celestial uses Bases by default because:

  • Bases is built into Obsidian core (no plugin dependency)
  • Bases tables are interactive — sortable, filterable, with column resize
  • Bases handles large vaults more efficiently
  • Bases plays nicely with Obsidian's frontmatter UI

Dataview is also available in the bundled plugin stack — Time Garden uses Dataview for some of its temporal queries (e.g., the yearly "Top Days" table). Dataview is more flexible for code-driven queries; Bases is better for everyday "show me a table" needs.


Embedded Tutorials

Karl has YouTube tutorials specifically on Bases:

These walk through customization in more depth than this page does.


A Note On Performance

Bases scan every matching note in your vault on every render. For a vault with thousands of categorized notes, complex base queries can take a moment. If a category page feels slow, the base config is the place to start tuning:

  • Limit the visible columns (fewer columns = faster render)
  • Add a stricter filter to narrow the result set
  • Set a smaller default page size

For a 5,000-note vault, every base should still render in well under a second.


Up Next

On this page