Obsidian Bases calendar¶
Use your Obsidian Bases tables as a read-only calendar source. This provider reads a .base file, applies the Base filters to your vault, and turns matching notes into calendar events.
Requirements¶
- Obsidian Bases core plugin enabled
- A
.basefile in your vault (created via Bases) with filters that select the files you want to see as events - Each matching note must include date metadata in its frontmatter
Adding a Bases calendar¶
- Enable the Bases core plugin in Obsidian (Settings → Core plugins → Bases).
- Create or open a
.basefile that describes the notes you want to surface. (See filter tips below.) - In Full Calendar settings → Calendars, click Add calendar and choose Bases.
- Pick your
.basefile from the dropdown, optionally rename it, and save. The provider will load immediately.
If the Bases plugin is disabled, Full Calendar will prompt you to enable it before adding the source.
How events are built¶
For each file selected by your Base:
- Date / time: pulled from frontmatter keys
date,start,startTime, ordue(first match). If none are present, the note is skipped. - Title:
titlefrontmatter, otherwise the note filename. - Category / subcategory: taken from
category/Categoryandsub category/subCategoryfrontmatter. The title is expanded toCategory - Subcategory - Titlewhen present. - All-day: defaults to
trueunlessallDayfrontmatter is provided. - Type: defaults to
singleunless you settypein frontmatter. - UID / navigation: the event UID is the note path so you can jump back to the note.
Events from Bases are read-only in the calendar. Edit the underlying note to change the event.
Filter tips¶
The provider currently supports a subset of Bases filters evaluated against each file:
- Logical operators:
and,or,not - Simple statements:
file.hasTag("tag")file.inFolder("path/")file.ext == "md"
Example .base snippet to only include markdown notes in Projects/Events tagged #calendar:
filters:
and:
- 'file.inFolder("Projects/Events")'
- 'file.hasTag("calendar")'
- 'file.ext == "md"'
If no filters are defined, all vault files are considered.
Limitations¶
- Read-only: create/edit/delete from calendar is not yet supported.
- Recurrence is not inferred; use explicit recurrence metadata if you need repeats.
- The filter evaluator is intentionally simple and may not cover all Bases expressions; stick to tags, folder checks, and file extension checks for best results.
Troubleshooting¶
- No events showing: ensure the Bases plugin is enabled and the selected
.basefile exists; confirm your notes have adate(orstart/due) frontmatter field. - Wrong notes included: refine your Base filters (tags/folder) and ensure the
.basefile is saved. - Categories missing: add
categoryand optionalsubCategoryto note frontmatter so titles render with hierarchy.
For more about Bases, see the official help: https://help.obsidian.md/bases