A lightweight, theme-driven static site generator that converts your Obsidian-styled Markdown files into a beautiful website with live development server support.
- 📁 Smart Navigation - Automatic dropdown menus from your file structure
- 🎨 Beautiful Themes - Paper and dark themes with Garamond typography
- 🔄 Live Development - Auto-rebuilding server with file watching
- 🔗 Wiki Links - Preserves Obsidian-style
[[links]] - 📱 Responsive Design - Mobile-friendly layouts
- 📋 Privacy Control - Files starting with
_excluded from navigation - 🚀 Zero Configuration - Works out of the box
git clone https://github.com/felixheins/Markdown-Static-Site-Generator.git
cd Markdown-Static-Site-Generator
# Create virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt# Build the included demo site
python build_site.py "Demo Site"
# Or start development server with live reload
python serve.py "Demo Site"Visit http://localhost:8000 to see the demo site with full documentation.
# Build your Obsidian vault
python build_site.py "/path/to/your/vault"
# Development server with live reload
python serve.py "/path/to/your/vault"
# Use different theme
python build_site.py "/path/to/your/vault" --theme dark-theme- paper-theme (default) - Warm, elegant design with Garamond typography
- dark-theme - Modern dark mode with beautiful contrast
The included Demo Site/ shows the generator's capabilities:
Demo Site/
├── Demo Site.md # Homepage
├── Documentation/ # Full documentation
│ ├── Getting Started.md # Installation & usage
│ └── Features.md # Complete feature list
└── Examples/ # Usage examples
├── Quick Start.md # Step-by-step tutorial
├── Advanced Usage.md # Complex scenarios
└── Implementation Details.md # Technical details
# Basic build
python build_site.py /path/to/vault
# Custom output directory
python build_site.py /path/to/vault --output /custom/output
# Specific theme
python build_site.py /path/to/vault --theme dark-theme# Basic server
python serve.py /path/to/vault
# Custom port
python serve.py /path/to/vault --port 3000
# Network accessible
python serve.py /path/to/vault --host 0.0.0.0- Files starting with
_are excluded from navigation (but still built) Resources/folders are copied but not processed as pages- Directory structure becomes navigation hierarchy
- Index files (same name as directory) become dropdown main pages
The generator creates static HTML/CSS that works with any hosting:
- GitHub Pages - Copy
Outputs/todocs/folder - Netlify - Drag and drop the output folder
- Vercel - Connect your repository
- Traditional hosting - Upload via FTP
Contributions welcome! Please read the documentation in the Demo Site for implementation details.
MIT License - see LICENSE file for details.
Generate beautiful static sites from your Markdown files with zero configuration.