# Obsidian - Dataview Publish Plugin
![[images/Obsidian-Dataview-Publish-Plugin.webp]]
[Watch on YouTube](https://www.youtube.com/watch?v=LUhGbAdMdrs) · 25:00 · Josh Plunkett · 2024-08-08
## Outline
### 00:00 Intro
- Josh's **Obsidian TTRPG Tutorials** website is itself an **Obsidian Publish** site: write a note, press publish, done. It's cheap and easy, but its biggest weakness is that community plugins don't render on the published site.
- The sidebar lists *Recently Added* and *Recently Edited* come from Dataview, but indirectly: a **Templater** script ("update publish files", in his Z Templates folder) rewrites plain markdown notes each time he publishes. Those copies don't update live in his vault, which is fine for the website but not if you rely on Dataview while you play.
- The new **Dataview Publisher** plugin solves that.
### 03:33 Install and configure
- Settings, Community plugins, Browse, search "Dataview Publisher". It's by "UD" (udus122) with only about 279 downloads at the time.
![[images/Obsidian-Dataview-Publish-Plugin-t0335.webp]]
- It's now in the community list, so you no longer need **BRAT**. The README says it needs the **Checkbox Time Tracker** plugin installed too; Josh isn't sure why, but installed it. The README also has advanced DataviewJS examples he skips.
- Settings: a **source tag** marks which notes the plugin should refresh (copy it for later). **Update on save** is off by default; he turns it on.
- Plug: his site has a Dataview page collecting his favourite TTRPG queries (such as *list monsters mentioned in this note*) and a link to the community **Dataview Query Builder**.
### 06:49 Add Dataview Publisher to a note
- He makes a "test ground" note in his Scratch Notes folder.
- His mistake: copying the usage snippet straight from the README produced only the top line and no results; he lost days to it (probably a hidden character).
![[images/Obsidian-Dataview-Publish-Plugin-t0835.webp]]
- The fix is the command palette: **Insert Dataview publish block**, then paste the query inside (his example lists Monster Manual creatures from his CLI notes).
- It still didn't populate until he added the **source tag** to the note and ran **Update Dataview publish blocks**.
- Result: the query is hidden in `%% %%` comments (which Publish doesn't show) and the plugin writes the results underneath as plain markdown, ending with a marker line. It's the same idea as his Templater method, automated.
![[images/Obsidian-Dataview-Publish-Plugin-t1030.webp]]
### 11:26 How editing modes affect it
- In source mode, Ctrl+S with update on save didn't refresh reliably for him. In **live preview** the query refreshes as soon as you click out, and **Ctrl+S** pushes the results into the markdown block. Leaving and re-entering the note does not.
- From source or reading mode, run the command **Update Dataview publish blocks** manually. He'll stick with live preview.
### 14:27 Publish your Dataview results
- Command **Update Dataview publish blocks and open publish panel** refreshes everything and opens Publish in one step.
- He publishes the test note; the site shows the tag, his text, and the full Dataview list.
![[images/Obsidian-Dataview-Publish-Plugin-t1540.webp]]
- Caveat: it works for full Dataview queries (code blocks), not **inline** Dataview.
### 16:19 Example conversion
- He migrates his site's *Recently Modified* list: copies the query out of his Templater note, tests it as a normal Dataview block, then wraps it in a Dataview publish block in source mode.
- Refresh fails on purpose to remind you about the tag. Rather than a visible `#hashtag` in the body, he adds a `tags` property in frontmatter with `dataview-publisher` (no `#` inside properties).
![[images/Obsidian-Dataview-Publish-Plugin-t1935.webp]]
- After refreshing, the markdown copy appears, so he can delete the old Templater template. He republishes and the sidebar shows newly modified notes such as Dave's calculator and the teleportation error.
- He keeps the query in a dedicated note embedded in the landing page, though it could sit directly in the published note.
### 21:39 Outro
- Josh calls it a plugin likely to take off. Publish still can't show things like map pins, Fantasy Statblocks or timelines, but tables and lists now work. For inline fields, he recommends **Meta Bind**, which updates in real time.
- Thanks to Patreon supporters. The Patreon vault is a starter TTRPG vault with templates, plugins and themes, but no game mechanics. For help, join the **Obsidian TTRPG Community** Discord rather than asking in YouTube comments, since you can share screenshots and screens there.
## Things mentioned
### Obsidian plugins and features
- **Dataview Publisher** (udus122): free community plugin, the subject of the video
- **Dataview**: free community plugin that runs the queries
- **Checkbox Time Tracker**: free plugin the README lists as a requirement
- **Templater**: free plugin behind his earlier "update publish files" workaround
- **BRAT**: beta plugin installer, no longer needed for this plugin
- **Meta Bind**: free plugin he recommends for inline, real-time fields
- **Fantasy Statblocks**, map pins (Leaflet) and timelines: plugins that still don't render on Publish
- **Obsidian Publish**: Obsidian's paid hosting add-on
- Command palette, properties (`tags`), `%% %%` comments, live preview, source and reading modes
### Websites and community
- [Obsidian TTRPG Tutorials](https://obsidianttrpgtutorials.com/), his free Publish site, including its Dataview query page
- Dataview Query Builder, a free community tool linked from his site
- Josh's Patreon (paid starter vault) and the Obsidian TTRPG Community Discord (free)
### TTRPG content
- Monster Manual creature lists from his CLI-imported notes (D&D 5e), example queries such as *list monsters mentioned in this note*
## Bios
- **Josh Plunkett**: Australian creator of the Obsidian TTRPG Tutorials YouTube channel and website, who teaches game masters to run campaigns in Obsidian and runs a Patreon starter vault and the Obsidian TTRPG Community Discord.
- **udus122 ("UD")**: the developer of the Dataview Publisher plugin, credited in the video only by handle.