Back to templates

Template details

Obsidian

Minimal blog template fully functional built with Gatsby. Hosting and CMS powered by GH pages + GH actions + GH discussions.

About this template

Obsidian is a minimal, serverless blog template built with Gatsby that runs entirely on GitHub Pages and uses GitHub Discussions as its content management system.

What is Obsidian?

Obsidian is a configurable, serverless blog template built with Gatsby, created by Alex Castro and published on GitHub. It takes environment variables, Markdown content, and GitHub Discussions as input, and produces a fully static blog hosted on GitHub Pages, with deployments automated by GitHub Actions. The template styles its content with GitHub markdown CSS and uses an original minimalist design.

Key Features

  • Serverless hosting — The blog is hosted entirely on GitHub Pages, so there is no server or database to manage.
  • GitHub Discussions as CMS — Content is managed via GitHub Discussions, allowing you to write posts as discussions.
  • GitHub Actions CI/CD — Build and deployment are handled by GitHub Actions, triggered on commits.
  • Configurable via .env — Fill a .env file and run yarn install, yarn clean, and yarn dev to start a local dev server.
  • GitHub markdown CSS — The markup content style is sourced from the github-markdown-css project.
  • Custom Gatsby remark plugins — Includes gatsby-remark-structured-content for image extraction and first-image thumbnails, and gatsby-remark-autolink-domains for linking bare domains in posts.

Who is it for?

  • Developers who want a free personal blog — they can clone the repo, configure .env, and publish posts through GitHub Discussions without paying for hosting.
  • Writers comfortable with GitHub — they can author Markdown content and submit it as a GitHub Discussion, with the site rebuilding automatically.
  • Gatsby users seeking a minimal example — the template demonstrates a production-ready Gatsby blog with GitHub-native hosting and custom remark plugins.

Use cases

  • Personal blogging on GitHub's free tier — publish posts by opening a GitHub Discussion, and the template renders them as blog entries on your GitHub Pages site.
  • Automated link handling in Markdown — the autolink domains plugin converts bare URLs like google.com into clickable links, reducing manual editing.
  • Image thumbnails without sidecar config — the structured content plugin extracts the first image from a post to serve as its thumbnail.

How does it work?

  1. Fill a .env file with your configuration values.
  2. Run yarn install to install dependencies, yarn clean to reset the cache, and yarn dev to start a local development server.
  3. Commit Markdown posts and manage discussions; GitHub Actions builds the site and deploys it to GitHub Pages.

FAQ

Is Obsidian free to use?

Yes — the template runs on GitHub's free public repositories, using GitHub Pages for hosting, GitHub Actions for builds, and GitHub Discussions for content management.

Do I need coding skills to use Obsidian?

The linked guide says "no coding skills are required." You still need to fill a .env file and run a few yarn commands, so basic terminal familiarity is helpful.

What is the project's roadmap?

The roadmap lists planned support for video embedding (YouTube, Vimeo), image captions, image alt text, p5.js sketch embedding, and a proper landing page. Completed items include the image extraction plugin and removing thumbnail logic from config.