# Obsidian - Bases - Released! ![[images/Obsidian-Bases-Released.webp]] [Watch on YouTube](https://www.youtube.com/watch?v=KmUsWrA9YoE) · 42:56 · Josh Plunkett · 2025-08-24 ## Outline ### 00:00 Bases update available now - Bases is out of alpha/beta and available to everyone. This update needs a **full reinstall**: download the installer from obsidian.md and run it over your existing install, with no need to uninstall first. Obsidian's underlying framework had to be updated. ### 01:10 What is Bases? - The cards on Josh's home screen, his session-journal list, and his "recently modified" table are all bases. - Bases is basically a **replacement for Dataview**, which a large share of Obsidian users relied on but which meant learning a query syntax. Bases adds a point-and-click UI for filters and properties, switchable **table** and **cards** (image) views, and you can **edit note properties directly from a table**. Josh calls it game-changing. ### 02:38 Official documentation - Always start with the official docs: **help.obsidian.md/bases** covers creating a base, views, functions, and base syntax. Josh says the functions and syntax pages are where you go to master Bases. ("Of course, you're not going to do that.") ### 03:48 How to add Bases ![[images/Obsidian-Bases-Released-t0420.webp]] - Demo in his Patreon Starter Vault. Option 1: right-click a folder, choose **New base**, and you get a `.base` file you can rename. - Option 2: an **embedded base**. In any note, add a code block with the language `base` (three backticks plus `base`). - Both start as a table of every note (257 results). You can also **drag a .base file into a note** to embed it, which lets you reuse one base in many notes, including advanced "show things related to this note" setups. ### 06:23 Views ![[images/Obsidian-Bases-Released-t0800.webp]] - Unlike Dataview's single output, a base can have **several views**. *Add view* lets you pick a layout (table or cards) and a name. - Cards options: size, **image property**, image fit (contain/cover), and aspect ratio. Table options: row height (short to extra tall). - **Drag views to reorder them.** The top view is the default one that opens. *Duplicate view* copies a view. - Image property: add an `image` property in the note's frontmatter whose value is the image filename. Tip: paste the image into the note body, then cut the link into the property without the `![[ ]]`. Local paths and external links also work. ### 11:26 Results - Click the results count to **limit** results (for example, the top 10) or show all. **Copy to clipboard** pastes cleanly into Notepad or as a table into **Excel**, and **Export to CSV** saves a file. ### 12:50 Sort - Add default sorts on any property, A–Z or Z–A. Josh finds **created time** and **modified time** (built into every note) the most useful, for example a "recently modified" view sorted newest first. ### 14:18 Properties - The Properties menu turns columns on and off (file name, created and modified time, race, gender, class, and so on). Drag a column edge to widen it. ### 15:29 Filters ![[images/Obsidian-Bases-Released-t1700.webp]] - There are three levels: **All views** filters (apply to every view in the base), **This view** filters, and **filter groups** (*all*, *any*, or *none* of the following are true, which gives AND/OR/NOT logic). - Example: `folder contains 1-Party`, then `file name does not contain party`. The second rule removes **Folder Notes** plugin notes, which share their folder's name and inflate the count. - Per-view filters split *Party 1* and *Party 2* card views by subfolder. Dragging Frank between folders updates the views instantly. An "any of" group with two folder rules acts as an OR, and another group pulls in session journals. - The code icon shows the **syntax** for a filter. For advanced work, see the docs' functions and syntax pages. ### 24:22 Custom formulas ![[images/Obsidian-Bases-Released-t2600.webp]] - In Properties, **Add formula** creates a computed property using the documented functions. - Example from his hub (town) template, built with help from **Sailkite** of the Obsidian TTRPG Discord: list every NPC living in a city even though NPCs link to a *building* (their `my container` property, set with **Meta Bind**) and only the building links to the city. One formula (`linked via place`) does the two-step link and acts as a filter (greater than 0). A second formula shows the places as a visible property. This replaced a complex **DataviewJS** block. - Josh expects lots of shared community examples a few months after release. ### 30:18 Interacting with Bases - Clicking a card opens its note, which makes cards a handy index or home page. - Table cells **write back to note properties** (for example, setting Frank's `my container`), much like the old **DB Folder** plugin did. That's useful for spotting NPCs with missing race or age. Fields suggest values you've used before in the vault. ### 32:43 New note button - **New** creates a note, but it seemed to go into the folder where the base file lives, not the filtered folder, so Josh hasn't found it very useful yet. ### 34:24 Bases source view ![[images/Obsidian-Bases-Released-t3500.webp]] - A `.base` file's YAML can't be viewed inside Obsidian yet. Use *Show in system explorer* and open it in Notepad. You can copy that YAML into an embedded `base` code block to move a configuration across. - Josh embeds bases in his **Templater** world-builder templates (for example, Place), so every new note created from his home page arrives with its base built in. - The syntax lists enabled properties, then views (type, name, filters, order). Editing the raw text (for example, renaming a view to "zebra") updates the UI. ### 38:35 Renaming properties - In **table** view, right-click a column and choose *Edit property* to set a display name (`char race` shown as "Race"). This changes the column label only, not the note property, and appears in the source as `displayName`. Cards view can't do this. ### 40:52 More examples and 41:51 Outro - obsidianttrpgtutorials.com now has a **Bases** page that collects Josh's favorite base code. He invites submissions. - Thanks to Patreon supporters (the Starter Vault includes all his Bases examples) and a plug for the Obsidian TTRPG Community Discord and its showcase channel. ## Things mentioned ### Obsidian features and plugins - **Obsidian Bases** (core plugin, free): `.base` files, embedded `base` code blocks, table and cards views, filters, formulas. - **Dataview / DataviewJS** (free community plugin), which Bases largely replaces. - **Folder Notes** (free), whose same-named folder notes inflate results. - **Meta Bind** (free), used to set the `my container` property. - **Templater** (free), for templates with embedded bases. - **DB Folder** (free, older), which pioneered editing properties from a table. - Properties/frontmatter and built-in file properties (created time, modified time, folder, file name). ### Tools and websites - [Obsidian Help: Bases](https://help.obsidian.md/bases) (free) and the obsidian.md installer download (Obsidian itself is free). - [Josh's Bases page on obsidianttrpgtutorials.com](https://obsidianttrpgtutorials.com/Obsidian+TTRPG+Tutorials/Plugin+Tutorials/Core+Plugins/Bases/Bases) (free). - Microsoft Excel and Notepad, for pasting and exporting results and reading `.base` source. - Josh's **Patreon Starter Vault** (paid, for supporters), with hub, place, NPC, and session-journal templates. - Obsidian TTRPG Community Discord (free). ### TTRPG content - Example party and player-character notes (race, class, gender properties), session journals, and a world-building hub/town and place structure for NPCs-by-location. ## Bios - **Josh Plunkett** is an Australian GM and YouTuber who runs Obsidian TTRPG Tutorials, teaching tabletop players and world builders to run campaigns in Obsidian. He runs a Patreon with a ready-made Starter Vault. - **Sailkite** is a member of the Obsidian TTRPG Community Discord who wrote the NPCs-in-this-city Bases formula. Josh calls him "a bit of a genius" at this.