Stenope
The static website generator for Symfony developers
Install / Use
/learn @StenopePHP/StenopeREADME
Stenope
The static website generation tool for Symfony.

Why another static site generator?
We're Symfony developers that couldn't find a static website generator that bended to our needs.
We needed a way of generating static websites that:
- Doesn't impose a format, a structure or a location for the data.
- Runs in a Symfony environment.
- Allow us to develop virtually any feature we might need.
Stenope does that.
Installation
In your existing Symfony app:
composer require stenope/stenope
If you plan to create a new app from scratch, you can give a try to the Stenope Skeleton.
Usage
bin/console -e prod cache:clear
bin/console -e prod stenope:build ./static
Your Symfony app is now a static website in: ./static! ✨
Next: learn more about Stenope's content management system.
Philosophy and goals
Stenope was designed with these goals in mind:
- Stenope meets your needs, not the other way around.
- Stenope runs in any Symfony project out of the box, connects with standard Symfony components and feels natural to Symfony developers.
- Stenope is highly extensible: features can be replaced, added or removed.
How it works
- 🔍 Stenope scans your Symfony app (like a search engine crawler would) and dumps every page into a static HTML file.
- 🛠 Stenope provides tools for loading and parsing various data sources (like local Markdown files or distant headless CMS).
- 🖌 Stenope enriches the parsed data by applying a series of processors (like Syntax Highlighting, slug generation, etc.).
- 🧲 Stenope finally hydrates your custom PHP objects with the enriched data and provides interfaces for listing and retrieving them (like an ORM would).
- ⚙️ Stenope gives you a lot of control over the whole process by providing entrypoints, interfaces and default implementations that are entirely replaceable.
What Stenope is not
Stenope is not a ready-to-use bloging system: but you could quickly write your own blog system with it!
In-depth documentation
Features
- Loading and parsing content
- Supported formats
- Supported sources
- CLI usage
- Debug contents
- Syntax highlighting
- Linking contents
- Configuring the build
- Twig integration
Cookbooks
<!-- TODO - [Specifying host and base url]() --> <!-- TODO - [Adding custom files to the build]() --> <!-- TODO - [Data source: writing a custom Provider]() --> <!-- TODO - [Data format: writing a custom Decoder]() --> <!-- TODO - [How to automatically deploy and host a static site]() -->Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
