Uses

meta stack
https://garden.seedytilde.eu/uses/

This page documents the stack responsible for this digital garden.

I’ve been using hand-edited Hugo markdown for an SSG previously but I wondered if I could use something like Obsidian instead, less for my own use but more for potential reuse by others. While I was at it, I wanted to try and get away from the various things that irked me about Hugo’s maintenance, including submodules never really working properly for me.

I wanted to see if pandoc could be the core of an SSG; I knew file conversion was an obvious strength, there, so part of this project lets me include a frontmatter property “output” which can include an array of formats. Currently, PDF and Markdown are supported; I’ll add more as I see use cases.

Authoring

  • Markdown in Obsidian for writing and linking notes with wiki links.
    • Testing Obsidian slide output to see if the Slides plugin in Obsidian can be rendered effectively here
      • …and maybe also output in various slide-oriented formats via Pandoc
  • An Obsidian note template in obsidian_templates/default_note.md with common frontmatter properties.

Build

  • Python (build.py) as the static-site build pipeline.
  • Pandoc for Markdown to HTML rendering with custom templates.
    • Pandoc also allows for other input and output formats, which might be leveraged down the line.
  • Git metadata for note update history (/updates/ and archive pages).

Deploy

  • Codeberg for source hosting.
  • Coolify for build/deploy automation via webhook.
  • Docker multi-stage image build.
  • nginx for static serving and cache headers.

Content Workflow

  1. Write in Obsidian under notes/.
    1. There’s also drafts/ which isn’t synced; notes can be copied locally from drafts/ to notes/ to publish.
  2. Commit and push to Codeberg.
  3. Codeberg’s push webhook triggers Coolify to rebuild and redeploy the live container.
  4. Updated pages, RSS, sitemap, and updates/ views are published.