Quickstart
This guide uses the static yiipress binary. It is the recommended way to use YiiPress because it includes the PHP runtime and native extensions.
1. Create a site directory
mkdir myblog cd myblog
Download the YiiPress binary from the latest GitHub release or workflow artifact and place it in this directory as yiipress (yiipress.exe on Windows):
cp /path/to/yiipress ./yiipress chmod +x ./yiipress
On Windows, use yiipress.exe in the examples below.
2. Create the initial files
Run:
./yiipress init
This creates content/config.yaml, content/navigation.yaml, and two starter collections. Edit content/config.yaml:
title: My Blog description: A personal blog base_url: https://example.com languages: [en] date_format: "F j, Y" entries_per_page: 10 permalink: /:collection/:slug/ taxonomies: - tags - categories
3. Review collections
yiipress init creates a page collection for standalone pages and a blog collection for dated posts:
content/ ├── page/ │ └── _collection.yaml └── blog/ └── _collection.yaml
4. Write your first post
Create the post with the scaffold command:
./yiipress new "Hello World" --collection=blog
Then edit the generated file in content/blog/. A typical post looks like this:
--- title: "Hello World" tags: - general --- Welcome to my blog! This is my first post. ## What is YiiPress? YiiPress is a static blog engine built on [Yii3](https://yiisoft.github.io/docs/guide/intro/what-is-yii.html). It is: - Exceptionally fast - File-based (no database) - Extensible with plugins
5. Create a page
Use the same command without --collection for a root-level page:
./yiipress new "About"
A simple content/about.md page looks like this:
--- title: "About" --- This is my personal blog where I write about programming.
6. Add navigation
Edit content/navigation.yaml:
main: - title: Home url: / - title: Blog url: /blog/ - title: About url: /about/
7. Build the site
./yiipress build
This generates static HTML in the output/ directory:
output/
├── blog/
│ ├── feed.xml
│ ├── feed.json
│ ├── hello-world/
│ │ └── index.html
│ ├── rss.xml
│ └── index.html
├── about/
│ └── index.html
├── tags/
│ ├── general/
│ │ └── index.html
│ └── index.html
└── sitemap.xml
8. Preview locally
Start the dev server:
./yiipress serve
Open the URL printed by the command. The preview server rebuilds after content changes and refreshes the browser.
Build options
Include drafts and future-dated posts during development:
./yiipress build --drafts --future
Use multiple workers for faster builds:
./yiipress build --workers=4
By default, YiiPress uses --workers=auto, which detects available CPU capacity and uses up to 4 workers automatically.
Disable cache for a clean build:
./yiipress build --no-cache
Next steps
- Add authors in
content/authors/— see Content - Customize permalinks — see Content
- Configure markdown extensions — see Configuration
- Link between posts using relative
.mdpaths — see Content - Learn about all build options — see Commands