cecil/cecil

A simple and powerful content-driven static site generator.

Maintainers

πŸ‘ aligny

Package info

github.com/Cecilapp/Cecil

Homepage

pkg:composer/cecil/cecil

Fund package maintenance!

ArnaudLigny

Open Collective

Statistics

Installs: 650

Dependents: 0

Suggesters: 0

Stars: 292

Open Issues: 18

8.110.0 2026-06-17 21:55 UTC

Requires

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).

Conflicts

None

Replaces

None

EUPL-1.2 38da5b9d6eb7f62f8aaa3d2f7c3ab1a568b2d117

twigmarkdownstatic site generator

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

πŸ‘ Cecil CLI demo

πŸ‘ 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

Installation

Download cecil.phar from your terminal:

curl -LO https://github.com/Cecilapp/Cecil/releases/latest/download/cecil.phar

Other installation methods:

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