Obsidian as static site generator for my roleplaying game
For a while now, I’ve been tinkering with my own roleplaying game, Raiders of Arismyth. One of the things I realised early on was that I need a good way lookup rules and other information quickly. Find the proper tables, skill descriptions and so on, and to be able to disseminate it to my players.
I briefly tried elventy, Hugo and similar frameworks, but found out that I’m not enough of a developer to actually enjoy doing that. But then, I’ve been using Obsidian for a while now to do random notetaking and to organize my campaign notes. Turns out, with the right plugins and other setup, this is pretty good!
So, what am I using, and how?
To start with, I’ve installed Obsidian, obviously. I’m storing the vault on my NAS, so I can access it via SMP share and webdav, regardless of where I am. I’m using the following plugins:
- Core plugins
(These are mostly enabled by default anyway)- Backlinks
- Command palette
- File Recovery (just in case)
- Note composer
- Files
- Graph view
- Page preview
- Quick switcher
- Templates
- Community plugins
- Dataview
This enables queries to quickly add lists or tables composed from other notes, a godsend when it comes to compiling skill lists and such. The „News“ section pseudo-blog is also compiled with this. - Dataview Serializer
Dataview doesn’t always play nice when exporting the whole vault to a website — the serializer plugin sorts that out by writing the result of the Dataview directly into the note. - Style Settings with the ITS Theme by SIRvb
purely aesthetical, it makes the whole notebook look vaguely like a D&D book (I’m using WOTC/Beyond as TTRPG theme) - Virtual Linker / Glossary
I find this super useful: I have a glossary folder, and whenever the plugin finds a glossary note title in any of the other notes, that becomes a link. And inside of Obsidian itself, the link even gets a hover-preview. - Webpage HTML Export
This is what makes the site creation magic. The plugin grabs all notes and folders and files I tell it to grab, wraps them in some javascript and presto, you get something that can be uploaded to a webserver and provides a nice static site.
- Dataview
Whenever I want to update the site, I use the Command palette to trigger „Generate HTML Export using previous settings“. Obsidian itself doesn’t upload the result, for that I use a WinSCP shortcut on my desktop. It is not the most streamlined or automated process, but easy enough. The downside is that I really need to have an installed Obsidian on a desktop device — I cannot edit the Vault from the web, nor can I trigger the website update that way.
On the upside, I don’t need to worry overly about the website being hacked through unsafe PHP scripts, so there’s that. :)