- Reevaluate content structure to support all features planned in the roadmap
- Draft architecture in
docs/architecture.md - Implement superfast parsing of each content file type
- Consider that as less as possible should be loaded into memory at any time
- Consider using fibers for parallel processing
- Caching layer for parsed markdown/front matter between builds
- Benchmarking suite (e.g., generate 10k entries) to track performance regressions
- Expand benchmark by adding a separate test for entries to include links to another entries, 10 pages of text, images, differently styled text, tables.
- Collection and site-wide RSS/Atom/JSON Feed generation. Content should be generated using same plugins as for HTML content
- Sitemap generation
- Tags and categories (taxonomies)
- Draft support (front matter
draft: trueflag, exclude from build by default) - Entry date handling and chronological sorting
- Entry summary/excerpt (auto-generated or manual via front matter)
- Syntax highlighting for code blocks that is a processor and is server-rendered
- Permalink customization (per-entry via front matter, site-wide patterns)
- Pagination configuration (entries per page, URL patterns)
- Entry sorting options (custom sort fields like weight/order for non-blog collections)
- Explicit collection entry order (
orderfield in_collection.yaml) - Static/standalone pages (pages outside of collections, e.g., "about", "contact")
- Navigation / menu system
- Content scheduling (future-dated entries excluded from build by default)
- Author support (author metadata in front matter, author pages/archives)
- Date-based archive pages (yearly, monthly)
- Cross-references / internal linking helpers (shorthand syntax to link between entries, prevents broken links on permalink changes)
- Markdown extensions configuration (enable/disable footnotes, definition lists, strikethrough, tables, etc.)
- KaTeX rendering assets for LaTeX math output
- Taxonomy term pagination
-
docs/configuration.md— document all configuration options (site name, charset, locale, base URL, pagination, etc.) -
docs/front-matter.md— document supported front matter fields (title, date, slug, draft, tags, categories, custom fields) — covered indocs/content.md -
docs/structure.md— document expected project directory layout (content/,templates/,public/,assets/,plugins/,config/) — covered indocs/content.md -
docs/quickstart.md— step-by-step guide: create first post, run dev server, build static site - Expand
docs/commands.md— add flags, options, and usage examples for each command - Expand
docs/plugins.md— document plugin API, lifecycle hooks, registration, configuration - Expand
docs/templates.md— document available template variables, partials/includes, example templates - Make user-facing docs binary-first and split engine developer details into
docs/engine.md
- CI quality tooling: PHPStan, mutation testing with Stryker reporting, benchmark regression checks, automatic formatting, workflow security analysis, dependency updates, concurrency, and path filtering
- Live reload / file watching during
yiipress serve - Windows-compatible
yiipress servewithout PCNTL or POSIX signal handlers - Multiple build workers on Windows without PCNTL
- PHAR and static PHP binary packaging
- Worker-mode serving for PHAR and static PHP binary packages
- Linux, macOS, Windows, and distroless Docker release packaging
- Tag release workflow for binaries, PHAR, and binary-only distroless image
- Windows binary test pipeline in CI
- macOS binary test pipeline in CI
- Reusable GitHub Action for downloading the Linux binary and building third-party sites
-
yiipress newcommand — scaffold new entries from archetypes/templates -
yiipress init:contentcommand — scaffold initial content structure - Namespaced content, theme, and plugin scaffolding commands
- Incremental builds (only rebuild changed files)
- Selective shared-output regeneration with dependency fingerprints, obsolete-page cleanup, and conservative custom-template invalidation
- Smaller static package by removing unused runtime extension dependencies
- Build diagnostics (warn on broken internal links, missing images, invalid front matter)
-
yiipress cleancommand — clear build output and caches -
yiipress check:linkscommand — validate generated links and anchors - Dry run mode for build — show what would be generated without writing files
- No-write build mode for render-vs-filesystem performance diagnostics
-
serveoverlay button to open the current markdown source in a configured editor - Respect console verbosity when rendering errors
- Hide the internal worker command from the user-facing command list
- Add one-command Linux, macOS, and Windows installers and updaters
-
yiipress self-updatecommand for stable and nightly packaged builds - Install the newest nightly binary with
YIIPRESS_VERSION=nightly
- Theme system — installable/distributable themes
- Auto-register project themes from
themes/<name>/for binary users - Namespaced theme assets for installable themes
- Template partials/includes support
- Template helper functions documentation
- Site data files exposed to templates (
content/data/*.yamlor.ymlas$data) - Multiple layout support (per-entry layout selection via front matter)
- Beautiful default theme
- VuePress-style documentation layout with left sidebar navigation and right document table of contents
- Asset fingerprinting / cache busting
- Static file copying (fonts, downloads, PDFs from source to output)
- Root-relative asset URLs stay valid when deploying under a subdirectory
- Nightly Linux binary published for GitHub Actions preview builds
- Configurable generated HTML and CSS/JavaScript asset minification
- Automatic favicon discovery from conventional
content/icon.*files - Open Graph / meta tag helpers
- Canonical URL support
- Configurable
robots.txtgeneration - Redirect support (e.g., when changing permalinks, output redirect HTML or config)
- Entry aliases in front matter for old URL redirects
- Root-relative redirects resolve against deployment paths from
base_url - 404 page in static build output for static hosting providers (Netlify, GitHub Pages, etc.)
- Deployment helpers/docs for common static hosts (GitHub Pages, Netlify, Vercel, Cloudflare Pages)
- Built-in shortcodes (YouTube, Vimeo, figure, etc.) as a plugin
- Project-level content processors from
content/processors/for binary users - Table of contents generation from headings as a plugin
- Diagram support (Mermaid) as a plugin
- oEmbed support (auto-expanding URLs to embeds) as a plugin
- Code block language labels
- Tabbed code groups
- Per-entry previous/next pager overrides
- Per-entry edit-link visibility override
- FAQ question blocks with configurable section grouping
- Per-entry table-of-contents depth and visibility
- Per-entry last-updated visibility override
- Per-entry documentation aside visibility
- Related content suggestions as a plugin
- Multilingual / i18n support
- UI language selector independent from content language, remembered client-side
- Search as a plugin
- Hooks / events system (before build, after build, before render, after render) for plugin architecture
- WordPress
- Jekyll
- Hugo
- Ghost
- Medium exported Markdown
- Telegram export