A simple and powerful content-driven static site generator.
Cecil is a CLI application that merges plain text files (written in Markdown), images and Twig templates to generate a static website.
πDocumentation · π»Demo · πIssues tracker · π¬Discussions

Quick Start
Read the Quick Start documentation page.
Create and deploy a blog site:
Features
- No database, no server, no dependency: performance and security
- Your pages are stored in Markdown flat files with a YAML front matter
- Powered by Twig, a flexible template engine, with themes support
- Pagination, sitemap, redirections, robots.txt, taxonomies, RSS are generated automatically
- Handles and optimizes assets for you
- Download one file and run it
- Easy to deploy
Requirements
- PHP 8.2+
Installation
Download cecil.phar from your terminal:
curl -LO https://github.com/Cecilapp/Cecil/releases/latest/download/cecil.phar
Other installation methods:
- Homebrew:
brew install cecilapp/tap/cecil - Scoop:
scoop install https://cecil.app/scoop/cecil.json - Manual download page: cecil.app/download
Usage
Common commands:
php cecil.phar help # Get help
php cecil.phar new:site # Create a new website
php cecil.phar build # Build your website
php cecil.phar serve # Preview your website locally
Contributing
See Contributing.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!
npx all-contributors add
npx all-contributors generate
Development
Install dependencies:
composer install
Run all quality checks:
composer code
Run individual checks:
composer code:analyse
composer code:style
composer test
composer test:cli
Build binaries
Build binaries with Box and phpacker:
# Install Box and phpacker globally
composer global require humbug/box
composer global require phpacker/phpacker
export PATH=~/.composer/vendor/bin:$PATH
# Build the PHAR file and the package
composer run build:phar
composer run build:package
Build API documentation
Build the API documentation with phpDocumentor:
# Download phpDocumentor PHAR
curl -Lo phpdoc https://phpdoc.org/phpDocumentor.phar
# Build the API documentation
php phpdoc
Release
To release a new version, create a new Git tag with the version number (e.g. 1.0.0), push it to GitHub and the release will be automatically published by GitHub Actions.
git tag 1.0.0
git push origin 1.0.0
[!TIP] To create a pre-release, add a suffix to the version number (e.g.
1.0.0-beta.1).
The automated workflow also will publish the release to the website, update the Homebrew formula and the Scoop manifest.
Sponsors
License
Cecil is a free software licensed under the EUPL-1.2 license.
Cecil Β© Arnaud Ligny
Logo Β© CΓ©cile Ricordeau





