A modern, minimalist static blog generator that creates a feature-rich website from markdown files. Built with vanilla JavaScript and Python, focusing on clean design and enhanced reading experience.
- Markdown-Based: Write blog posts in markdown with YAML frontmatter
 - Tags & Series: Organize content with tags and group related posts into series
 - Backlinks: Automatic bi-directional linking between related posts
 - Static Generation: Fast, secure, and SEO-friendly static HTML pages
 
- Dark Mode: System-aware theme with toggle switch
 - Reading Progress: Visual indicator of reading progress
 - Table of Contents: Auto-generated, hierarchical navigation
 - Responsive Design: Mobile-first, clean interface
 
├── src/
│   ├── css/
│   │   └── styles.css
│   └── js/
│       ├── dark-mode.js
│       ├── load-nav.js
│       ├── load-blog-list.js
│       ├── toc-generator.js
│       └── progress-bar.js
├── data/
│   ├── series_data.json
│   └── tags_data.json
├── blogs/
│   ├── *.md (markdown files)
│   └── *.html (generated blog pages)
├── templates/
│   ├── blog-template.html
│   └── blogs-listing-template.html
├── index.html
├── about.html
├── blogs.html
├── series.html
├── tags.html
├── navigation.html
├── requirements.txt
├── generate_blog_pages.py
└── README.md
- 
Setup
# Clone repository git clone [repository-url] cd [repository-name] # Install dependencies pip install -r requirements.txt
 - 
Create Content
# blogs/my-post.md --- tags: tech, tutorial series: getting-started series_part: 1 --- # My First Blog Post Content goes here...
 - 
Generate Site
python generate_blog_pages.py
 
---
tags: tag1, tag2          # Comma-separated tags
series: series-name       # Optional series name
series_part: 1           # Optional series part number
---- Standard Markdown syntax
 - Inline annotations with 
[[word]] - Image references from 
assets/directory - Internal links between posts
 - Code blocks with syntax highlighting
 
- Python 3.7+
 - Web browser (Chrome/Firefox/Safari/Edge latest versions)
 - Basic knowledge of HTML, CSS, and JavaScript
 
markdown: Markdown to HTML conversionbeautifulsoup4: HTML processing
Edit src/css/styles.css to modify:
- Color schemes (light/dark modes)
 - Typography and spacing
 - Layout and responsive breakpoints
 
Modify templates in templates/ to change:
- Page structure
 - Navigation elements
 - Meta tags and SEO elements
 
- Chrome (latest)
 - Firefox (latest)
 - Safari (latest)
 - Edge (latest)
 
- Fork the repository
 - Create your feature branch
 - Commit your changes
 - Push to the branch
 - Create a Pull Request
 
[MIT/Your chosen license]
[Your Name]
Built with vanilla JavaScript and Python. No frameworks, no complexity.