cecil/cecil
A simple and powerful content-driven static site generator.
Maintainers
Requires
- php: ^8.2||^8.3||^8.4||^8.5
- ext-fileinfo: *
- ext-gd: *
- ext-mbstring: *
- benjaminhoegh/parsedown-toc: ^1.6
- cecil/resource-watcher: ^4.1
- dflydev/dot-access-data: ^3.0
- erusev/parsedown-extra: ^0.9
- intervention/image: ^3.11
- james-heinrich/getid3: ^1.9
- jolicode/jolinotif: ^3.2
- laravel-zero/phar-updater: ^1.4
- matthiasmullie/minify: ^1.3
- performing/twig-components: ^0.7
- psr/log: ^3.0
- psr/simple-cache: ^3.0
- scrivo/highlight.php: ^9.18
- scssphp/scssphp: ^2.1
- spatie/image-optimizer: ^1.8
- symfony/config: ^7.4
- symfony/console: ^7.4
- symfony/dom-crawler: ^7.4
- symfony/filesystem: ^7.4
- symfony/finder: ^7.4
- symfony/mime: ^7.4
- symfony/polyfill-intl-icu: ^1.38
- symfony/process: ^7.4
- symfony/property-access: ^7.4
- symfony/serializer: ^7.4
- symfony/string: ^7.4
- symfony/translation: ^7.4
- symfony/twig-bridge: ^7.4
- symfony/validator: ^7.4
- symfony/var-dumper: ^7.4
- symfony/yaml: ^7.4
- twig/cache-extra: ^3.24
- twig/intl-extra: ^3.26
- twig/string-extra: ^3.24
- twig/twig: ^3.27
- vlucas/phpdotenv: ^5.6
- voku/html-min: ^5.0
- wapmorgan/mp3info: ^0.1
- yosymfony/toml: ^1.0
Requires (Dev)
- ergebnis/composer-normalize: ^2.52
- friendsofphp/php-cs-fixer: ^3.95
- phpmd/phpmd: ^2.15
- phpstan/phpstan: ^2.2
- phpunit/phpunit: ^11.5
- squizlabs/php_codesniffer: ^4.0
Suggests
- ext-intl: Native Intl extension for improved performance; ICU support is already provided by symfony/polyfill-intl-icu.
- ext-vips: PHP vips extension support for image processing features (requires system libvips).
- intervention/image-driver-vips: libvips driver support for Intervention Image (requires ext-vips and system libvips).
Provides
Conflicts
None
Replaces
None
EUPL-1.2 38da5b9d6eb7f62f8aaa3d2f7c3ab1a568b2d117
- Arnaud Ligny <arnaud.woop@ligny.fr>
This package is auto-updated.
Last update: 2026-06-18 01:31:23 UTC
README
π Cecil's logo, created by CΓ©cile Ricordeau
A simple and powerful content-driven static site generator.
π Latest stable version
π License
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
π Continuous Integration status
π Release status
π Documentation status
π Scrutinizer score
π Codacy badge
π Coverage score
π StyleCI status
Quick Start
Read the Quick Start documentation page.
Create and deploy a blog site:
π Deploy to Netlify
π Deploy with Vercel
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):
| π Arnaud Ligny Arnaud Ligny π π π€ π§ π£ π¬ π π π’ |
π Frank Taillandier Frank Taillandier π π€ π£ π π§βπ« |
π Martin Szulecki Martin Szulecki π π» π€ |
π Matthieu Vion Matthieu Vion π π» |
| π Chun-Sheng, Li Chun-Sheng, Li π» π‘οΈ |
π Benjamin Hirsch Benjamin Hirsch π π» |
π Pete Favelle Pete Favelle π π» π€ |
π Gert de Pagter Gert de Pagter π π |
| π Joe Vallender Joe Vallender π |
π Jawira Portugal Jawira Portugal π |
π Yufan You Yufan You π‘οΈ |
π Mathieu Santostefano Mathieu Santostefano π π |
| π Max Max π |
π Progi1984 Progi1984 π» π€ |
π Franck Matsos Franck Matsos π» |
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
π Aperture Lab
π studio cecillie
π studio cecillie
π Netlify
π Netlify
License
Cecil is a free software licensed under the EUPL-1.2 license.
Cecil Β© Arnaud Ligny
Logo Β© CΓ©cile Ricordeau
