By: Daniel Nazarian 🐧👹
Contact me at dnaz@danielnazarian.com
This repository contains everything you need to set up a self-hosted website for your Obsidian notes using MkDocs. It provides templates and configuration files to help you publish selected notes from your Obsidian vault to a beautiful, searchable website.
- Copy these files into your Obsidian vault
- Add
#publish-meto any notes you want to publish - Configure your
mkdocs.yml(use either basic or advanced template) - Set up GitHub Pages in your repository settings
- Push your changes - GitHub Actions will handle the rest!
Two configuration templates are provided:
mkdocs.yml.basic: A minimal configuration to get started quicklymkdocs.yml.adv: A feature-rich configuration with:- Material theme customization
- Dark/light mode support
- Advanced markdown extensions
- Search functionality
- Custom navigation
- And more!
The deploy.yml workflow handles:
- Setting up Python and dependencies
- Filtering notes with
#publish-metag - Excluding private folders (Journal, TODO, etc.)
- Processing Obsidian-specific features
- Deploying to GitHub Pages
preprocess_dataviews.py: Converts Obsidian Dataview queries into standard markdown- More scripts can be added for additional Obsidian feature support
See my blog post here to get started.
- Modify the theme in
mkdocs.yml - Add custom CSS/JS in the
.overridesdirectory - Adjust preprocessing scripts for your needs
- Customize the GitHub Actions workflow