u/christt105

▲ 7 r/gohugo

Showcase: A self-updating Media Tracker site powered by Hugo and Obsidian

Hi all,

I wanted to show a project I built to showcase my watched movies, series, video games, and books using Hugo, with content managed entirely in Obsidian.

The demo site is live here: https://christt105.github.io/mediatracker-starter/

A few key points on how it is built:

  • Theme derivation: The theme (hugo-mediatracker-theme) is a module extending hugo-blog-awesome, leveraging Hugo's module system to easily inherit and override layouts.
  • Convenient workflow: I take notes locally in Obsidian and a simple Python script handles the conversion of wikilinks, YouTube embeds, and caches all external image covers/banners locally to keep the site independent of external image hosting.
  • Easy deployment: Anyone can deploy their own instance using the starter repository, which is pre-configured and ready to clone.
  • Finished items RSS: The build generates a dedicated RSS feed for finished items only, which I use with a Discord bot to notify friends when I finish a movie, show, or game.

If you want to read more about the Hugo modules implementation and the conversion process:

Links to the repositories:

Hope you like it!

reddit.com
u/christt105 — 12 days ago

Showcase: I built an Obsidian plugin and Hugo theme to create a local-first Media Tracker

Hi everyone,

I wanted to share a setup I built to track my personal media library (movies, series, video games, books) local-first. I previously used Notion, but found it slow, offline-unfriendly, and I didn't like having my data locked in.

Here is how the system works in four main points:

  1. Local-first storage: Everything is stored as plain Markdown files in Obsidian, synced via Syncthing.
  2. Native Obsidian plugin: I developed a plugin called obsidian-mediatracker-plugin to search and fetch metadata, covers, and banners automatically from TMDB, TheTVDB, IGDB (with Steam grids), and Open Library.
  3. Static site generation: A Python script parses the notes, copies the media data, and downloads/caches covers locally to build a website.
  4. Hugo integration: The public site is compiled using Hugo and deployed automatically.

If you want to read more about the Obsidian configuration and the plugin development, you can check my blog posts:

If you want to set up something similar:

Hope you like it!

u/christt105 — 12 days ago