Simpla is a static website generator designed to just work, even if you update your site very rarely.
It doesn't have an awful lot of features, but it also has almost no dependencies—no need to perform the npm/composer/wp-cli update raindance every time you only wanted to write a quick status update. The engine targets PHP 8.5 and ships with a tiny built-in Markdown/frontmatter parser, so no external Markdown libraries are required.
Fair Warning: Using Simpla might lead to a situation where you actually have to write that blog post you wanted to write, with no chance to blame the machines for not doing it! 😄
- Blog Posts & Static Pages – Write content in Markdown with YAML frontmatter
- Automatic Index Generation – Blog post indexes and tag pages are generated automatically
- RSS Feed – Because we ❤️ independent publications!
- Flexible Menus – Define main navigation, footer links, and social menus in config
- Themes – Full control over templates using PHP (
.phtml) files - Code Highlighting – Built-in support via highlight.js
- Docker-Ready – Ship your site with a single command
# 1. Create your project folder
mkdir my-website && cd my-website
# 2. Download the page folder from this repo (or clone the whole repo)
curl -L https://github.com/fanatique/simpla/archive/main.zip -o simpla.zip
unzip simpla.zip "simpla-main/page/*"
mv simpla-main/page ./page && rm -rf simpla-main simpla.zip
# 3. Create a dist folder for the generated output
mkdir dist
# 4. Generate your website
docker run -it --rm \
-v "$PWD/page":/usr/src/simpla/page \
-v "$PWD/dist":/usr/src/simpla/dist \
fanatique/simpla:latest
# 5. Preview locally (optional)
cd dist && php -S localhost:8080Open http://localhost:8080 in your browser and you'll see your generated website!
my-website/
├── page/ # Your website source
│ ├── config/
│ │ └── config.php # Site configuration
│ ├── content/
│ │ ├── pages/ # Static pages (about, contact, etc.)
│ │ ├── posts/ # Blog posts
│ │ ├── snippets/ # Reusable content blocks
│ │ └── img/ # Media files
│ └── views/
│ └── [theme]/ # Templates and assets
├── dist/ # Generated output (auto-created)
└── .github/workflows/ # CI/CD (optional)
| Guide | Description |
|---|---|
| Getting Started | Minimal steps to publish a website |
| Setting Up a Custom Page | Deep dive into templates and theming |
| Creating Content | Writing posts, pages, and working with media |
| GitHub Actions Deployment | Automated builds and deployment |
| Template API Reference | Complete reference for template variables |
If you're building the Docker image yourself (e.g., after forking), make sure to build for multiple architectures so it works on both Apple Silicon and GitHub Actions:
# Build for both ARM and AMD64
docker buildx build --platform linux/amd64,linux/arm64 -t fanatique/simpla:latest --push .Note: Building only on your Mac (ARM) will create an image that fails on GitHub Actions (AMD64) with "exec format error".
I've written Simpla mainly for myself, but I like the idea and had to document it anyway.
If you have ideas on how to improve Simpla:
- Open an issue for discussion
- Submit a pull request (preferred)
Please note: This is a practical tool, not a showcase project. Suggestions focused purely on coding style will be politely declined.
MIT – See LICENSE for details.