Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

361 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YiiPress

YiiPress Static Website Engine


Latest Stable Version Total Downloads Tests Static Analysis Coverage Package

YiiPress is a fast, file-based static website engine powered by Yii3. Write Markdown, build static HTML, and ship blogs, documentation, feeds, sitemaps, taxonomy pages, authors, search, redirects, and assets without a database or any runtime.

Install or update

Linux (x86-64) and macOS (Apple silicon):

curl -fsSL https://raw.githubusercontent.com/yiipress/engine/master/install.sh | sh

Windows (x86-64, PowerShell):

irm https://raw.githubusercontent.com/yiipress/engine/master/install.ps1 | iex

Both installers verify the latest release checksum and put yiipress on PATH. Run the same command again to update it. Set YIIPRESS_INSTALL_DIR to install into another directory.

Use the static binary for normal projects: it includes the runtime and native extensions, so you do not need Docker, PHP, Composer, or a database on the machine that builds or previews the site.

Features

  • Static Linux, macOS, and Windows binaries for simple installs with no PHP runtime.
  • Binary-only distroless Docker images for container-based workflows.
  • Reusable GitHub Action for fast binary-based CI builds.
  • Incremental and parallel builds with native Markdown, YAML, and syntax highlighting.
  • Plain Markdown/YAML content that works well with Git.
  • PHP templates for full control without learning a custom template language.
  • Static production output that can be hosted anywhere.
  • Markdown content with front matter, collections, standalone pages, taxonomies, authors, date archives, and summaries.
  • 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 preview routing, dependency injection, middleware, and PHP template support.

Requirements

  • For users: the yiipress static binary for your platform.
  • For GitHub Actions: the YiiPress build action, which downloads the Linux binary automatically.
  • For container workflows: Docker, using the published binary-only YiiPress image.
  • For engine development from source: Docker and Docker Compose.

Source installs require PHP 8.5 and native extensions. Prefer the binary unless you are developing the engine itself.

Installation

Use the installer for your platform at the beginning of this README. For unsupported architectures, download the static binary from the latest GitHub release and put it in a directory included in PATH (yiipress.exe on Windows).

Create a content project:

mkdir mysite
cd mysite

Initialize content:

yiipress init:content

Start the development server:

yiipress serve

The preview server prints the URL it is listening on.

General Usage

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
feed_limit: 20
listing: true

Write an entry in content/blog/2026-01-15-hello-world.md:

---
title: Hello World
tags:
  - general
---

Welcome to my site.

Build the static site:

yiipress build

Generated files are written to output/.

Common commands:

yiipress new "My First Post" --collection=blog
yiipress build --workers=4
yiipress build --drafts --future
yiipress clean

Engine packaging commands, used by maintainers:

make package-phar
make package
make package-macos
make package-distroless

When 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.

Performance

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.

Documentation

Full documentation is available in docs/ and at yiipress.yiiframework.com.

License

YiiPress Static Website Engine is free software. It is released under the terms of the BSD License. Please see LICENSE.md for more information.

About

Static website builder engine powered by Yii3

Topics

Resources

Stars

26 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages