The package provides a fast, file-based static website engine powered by Yii3 and PHP 8.5. Write Markdown, build static HTML, and serve blogs, documentation, feeds, sitemaps, taxonomy pages, authors, search, and assets without a database.
- Docker and Docker Compose for the standard development, test, and build workflow.
- PHP 8.5 with required extensions when running the application outside Docker.
ext-highlighterfor native server-side syntax highlighting.
The Docker images include the required PHP extensions, including the YiiPress highlighter extension.
Create a project:
composer create-project yiipress/engine mysite
cd mysiteBuild the Docker image and initialize content:
make build
make yii initStart the development server:
make upThe preview server is available at the host port configured by DEV_PORT in docker/.env.
Configure the site in content/config.yaml:
title: My Site
base_url: https://example.com
languages: [en]
permalink: /:collection/:slug/
taxonomies:
- tags
- categories
highlight_theme: "Solarized (dark)"Create a collection in content/blog/_collection.yaml:
title: Blog
sort_by: date
sort_direction: desc
feed: true
listing: trueWrite an entry in content/blog/2026-01-15-hello-world.md:
---
title: Hello World
tags:
- general
---
Welcome to my site.Build the static site:
make yii buildGenerated files are written to output/.
Common commands:
make yii new "My First Post"
make yii build -- --workers=4
make yii build -- --drafts --future
make yii clean
make packageWhen using serve, HTML pages include live reload and a small edit button that opens the current Markdown source file in the
editor configured in content/config.yaml.
- Markdown content with front matter, collections, standalone pages, taxonomies, authors, date archives, and summaries.
- Incremental and parallel builds with cache-aware output generation.
- Feeds, sitemap, canonical URLs, social meta tags, redirects, and static
404.html. - Native server-side syntax highlighting powered by Rust and syntect.
- Table of contents, Mermaid diagrams, video embeds, fuzzy search, asset fingerprinting, and Telegram import.
- Yii3-based web application, routing, dependency injection, middleware, and PHP template support.
Current benchmark highlights:
| Scenario | Mode | Time |
|---|---|---|
| 10 000 entries across 3 collections | 4 workers | ~2.8 s |
| 10 000 entries across 3 collections | incremental | ~358 ms |
| 1 000 realistic entries | 4 workers | ~1.1 s |
| 1 000 realistic entries | incremental | ~108 ms |
See docs/benchmarking.md for benchmark workflow details.
Full documentation is available in docs/ and at yiipress.yiiframework.com.
YiiPress Static Website Engine is free software. It is released under the terms of the BSD License.
Please see LICENSE.md for more information.