Skip to content

yiipress/engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

166 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YiiPress

YiiPress is a fast, file-based static blog engine built on Yii3 and PHP 8.5. Write Markdown, run one command, get a fully static site — feeds, sitemaps, taxonomy pages, authors, search, and all.

PHP 8.5 Yii3 Docs


Features

Content

  • Markdown with 15+ configurable extensions (tables, footnotes, strikethrough, task lists, Mermaid diagrams, LaTeX math, wiki-links…)
  • Collections — group entries into blogs, docs sections, portfolios, or any other set
  • Standalone pages — about, contact, and other one-off pages outside collections
  • Taxonomies — tags and categories with index and term pages
  • Authors — per-author profile pages with bio and entry archives
  • Date archives — yearly and monthly archive pages
  • Drafts & schedulingdraft: true and future-dated entries excluded from production builds
  • Entry summaries — auto-generated or manual via [cut] marker in body
  • Cross-references — link between entries by file path; permalinks can change without breaking links

Build

  • Parallel builds — configurable worker count; 10 000 entries built in ~1.2 s
  • Incremental builds — only re-renders files that changed since last build
  • Build cache — parsed Markdown and front matter cached between runs
  • Dry-run mode — preview what would be generated without writing anything
  • Build diagnostics — warns about broken internal links, missing images, invalid front matter

SEO & Standards

  • RSS and Atom feeds per collection
  • XML sitemap
  • Open Graph and Twitter Card meta tags
  • Canonical URLs
  • Configurable robots.txt
  • Redirect pages (for permalink migrations)
  • Static 404.html for Netlify, GitHub Pages, Vercel, Cloudflare Pages

Extensions

  • Syntax highlighting — server-side, via a Rust/syntect FFI library; zero client-side JavaScript
  • Table of contents — auto-generated from headings, with id injection
  • Mermaid diagrams — flowcharts, sequence, Gantt, pie, and more
  • YouTube & Vimeo shortcodes — responsive embeds with a single tag
  • Client-side search — fuzzy search with modal UI; no external dependencies; opt-in
  • Telegram import — import channel exports as Markdown entries

Developer Experience

  • Live-reload dev server (make up)
  • yiipress new — scaffold entries from archetypes
  • yiipress clean — wipe output and caches
  • PHP template engine with partials — no new templating language to learn
  • Theme system — installable and distributable themes
  • Docker-based setup — one command to start

Performance

10 000 entries across 3 collections, OPcache on:

Mode Time
Sequential ~1.49 s
4 workers ~1.18 s
Incremental (cached) ~0.05 s

1 000 realistic entries (large posts, images, tables, code blocks):

Mode Time
Sequential ~252 ms
4 workers ~152 ms
8 workers ~135 ms

Quick Start

composer create-project yiipress/engine myblog
cd myblog

Configure content/config.yaml:

title: My Blog
base_url: https://example.com
permalink: /:collection/:slug/
taxonomies:
  - tags
  - categories

Create a collection in content/blog/_collection.yaml:

title: Blog
sort_by: date
sort_direction: desc
feed: true
listing: true

Write a post in content/blog/2024-01-15-hello-world.md:

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

Welcome to my blog!

Build and preview:

make yii build
make up          # dev server at http://localhost:8087

Documentation

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

Guide Description
Quickstart Create your first site in minutes
Content Collections, front matter, taxonomies, authors
Configuration All config.yaml options
Commands CLI reference
Templates Template variables, partials, themes
Plugins Content processors and importers
Deployment GitHub Pages, Netlify, Vercel, Cloudflare Pages

About

Static website builder engine powered by Yii3

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Generated from yiisoft/package-template