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,792 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