Cecil
A simple and powerful content-driven static site generator.
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
more like this
markItDown
📱 A React app to preview and edit Markdown✍. You can also export it as HTML.




