A minimal static site generator. Put markdown in site/, run midas serve, get a website.
midas init my-blog
cd my-blog
midas serveOr manually:
mkdir site
echo -e '---\ntitle: Hello\n---\n\nWelcome' > site/index.md
midas serve
Open http://localhost:8000.
Your content lives in site/. Every .md file becomes a page. Everything else (images, CSS, fonts) is copied to _dist/ as-is — the folder structure is your site structure.
site/
├── index.md → /
├── about.md → /about/
├── p/
│ └── post.md → /p/post/
├── style.css → /style.css
└── img/
└── photo.jpg → /img/photo.jpg
Files in p/ (or your configured postPrefix) are treated as blog posts, sorted by date (set in frontmatter), and included in RSS feeds.
Midas ships with a base stylesheet (/midas.css). Add overrides in site/style.css — it's loaded after the base.
| Command | Description |
|---|---|
midas init [dir] |
Scaffold a project into an empty directory |
midas build |
Build the site to _dist/ |
midas serve |
Build and start a dev server on http://localhost:8000 |
midas clean |
Delete _dist/ |
midas.yaml is optional. Without it, Midas uses sensible defaults. Set site.url for RSS feeds and site.name for the site header.
site:
url: "https://example.com"
name: "My Site"
languages:
default: en
additional: [fi]See the configuration reference for all available options.
Push to GitHub and connect to a static host:
- GitHub Pages — deploy via GitHub Actions
- Cloudflare Pages — set build command to
pip install midas-ssg && midas build, output directory to_dist