Skip to content
CecilappPublic

About

A simple and powerful content-driven static site generator.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

299 stars

Watchers

8 watching

Forks

Latest commit

Β 

History

5,776 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Cecil's logo, created by CΓ©cile Ricordeau

A simple and powerful content-driven static site generator.

Latest stable version License

Cecil is a command-line PHP application that merges Markdown pages, media and Twig templates to generate a static website.

🌐 Website Β· πŸ“„ Documentation Β· 🎨 Themes Β· ✨ Showcase Β· πŸ“° News Β· πŸ› Issues Β· πŸ’¬ Discussions

Cecil CLI animated demo

Continuous Integration status Release status Documentation status
Codacy badge Coverage score StyleCI status

Features

  • Fast & secure: no database, no server-side code, static files offer a minimal attack surface
  • Files only: content is stored in flat Markdown files with a front matter
  • Customizable: powered by Twig templates, with themes support
  • Multiple generators: pagination, taxonomies, sitemap, RSS feeds, robots.txt and redirects are generated automatically
  • Image optimization: responsive images, WebP and AVIF conversion, compression
  • Assets processing: compile, minify and fingerprint CSS and JavaScript
  • Multilingual: content localization and template translation
  • SEO-friendly: meta tags, Open Graph, X (Twitter) cards and structured data
  • No installation: download a single file and run it with PHP
  • Easy to deploy: in minutes on Netlify, Vercel, statichost and others
  • Open source: licensed under EUPL-1.2 and developed on GitHub

Quick Start

Requirements: PHP 8.3+ and a terminal.

  1. Download Cecil

    curl -LO https://github.com/Cecilapp/Cecil/releases/latest/download/cecil.phar
  2. Create a new site (in an empty directory containing cecil.phar)

    php cecil.phar new:site
  3. Add a page, then edit it in pages/

    php cecil.phar new:page
  4. Preview at http://localhost:8000

    php cecil.phar serve
  5. Build and copy the content of the _site directory to any web server

    php cecil.phar build

Read the Quick Start documentation page for more details.

Or start from a starter kit and deploy a ready-to-use blog in one click:
Deploy to Netlify Deploy with Vercel

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
  • Standalone binaries (no PHP required): cecil-linux-x64, cecil-macos-arm64, cecil-windows-x64.exe, etc.
  • Download page (all releases)

See the Installation documentation page.

Usage

Common commands:

php cecil.phar help      # Get help
php cecil.phar new:site  # Create a new website
php cecil.phar new:page  # Create a new page
php cecil.phar serve     # Preview your website locally
php cecil.phar build     # Build your website
php cecil.phar doctor    # Diagnose your site configuration

See the Commands documentation page.

Contributing

See Contributing.

Thanks goes to these wonderful people:

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

πŸ’»
Olivier Dolbeau
Olivier Dolbeau

πŸ’»

This project follows the all-contributors specification (emoji key). Contributions of any kind welcome!

npm install -g all-contributors-cli
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 PHAR

Build the PHAR file (dist/cecil.phar) with Box:

# Install Box globally
composer global require humbug/box
export PATH=~/.composer/vendor/bin:$PATH
# Build the PHAR file
composer run build:phar

Build standalone binaries

Build standalone binaries (dist/build/) from the PHAR file with phpacker:

# Install phpacker globally
composer global require phpacker/phpacker
export PATH=~/.composer/vendor/bin:$PATH
# Build the PHAR file first (see above), then the binaries
composer run build:phar
composer run build:package

phpacker requires the PHP zip extension and enough memory to load each PHP binary (~80 MB): set memory_limit = -1 if the build stops with an "Allowed memory size exhausted" error.

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.

AI agent skill

Cecil ships with an agent skill that teaches AI coding agents (GitHub Copilot, Claude Code, Cursor, etc.) how to build and configure Cecil sites, and a theme skill dedicated to creating and packaging Cecil themes.

Install the skills in your project with npx skills, which detects your coding agents and adds the skills where they expect them:

npx skills add cecilapp/cecil

Or, with Claude Code, as a plugin:

/plugin marketplace add Cecilapp/claude-plugins
/plugin install cecil@cecil

Once installed, ask your agent to create, build, configure, or deploy a Cecil site and it will use the skill automatically.

See the AI documentation for more details, including how to generate a llms.txt file and Markdown versions of your pages.

Sponsors

Aperture LabΒ Β Β Β Β Β Β Β  studio cecilliestudio cecillieΒ Β Β Β Β Β Β Β NetlifyNetlify

License

Cecil is a free software licensed under the EUPL-1.2 license.

The Cecil documentation is available under the Creative Commons Attribution 4.0 license.

Libraries used by Cecil are subject to their respective licenses (run composer licenses).

Cecil Β© Arnaud Ligny
Logo Β© CΓ©cile Ricordeau

About

A simple and powerful content-driven static site generator.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

299 stars

Watchers

8 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages