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
.envfile and runyarn install,yarn clean, andyarn devto start a local dev server. - GitHub markdown CSS — The markup content style is sourced from the
github-markdown-cssproject. - Custom Gatsby remark plugins — Includes
gatsby-remark-structured-contentfor image extraction and first-image thumbnails, andgatsby-remark-autolink-domainsfor 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.cominto 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?
- Fill a
.envfile with your configuration values. - Run
yarn installto install dependencies,yarn cleanto reset the cache, andyarn devto start a local development server. - 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.




