Giter Club home page Giter Club logo

cecil's Introduction

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

Cecil, your content driven static site generator.

Latest Stable Version PHP Version Require License
Tests suite Release cecil.phar Deploy documentation
Scrutinizer Code Quality Codacy Badge Coverage Status StyleCI SymfonyInsight

Cecil is a CLI application that merges plain text files (written in Markdown), images and Twig templates to generate a static website.

πŸ“„ Documentation | πŸ’» Demo | πŸ› Issue tracker | πŸ’¬ Discussion

Cecil CLI demo

Quick Start

Read the Quick Start documentation page.

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

Installation

Download cecil.phar from your browser or from your terminal:

curl -LO https://cecil.app/cecil.phar

Then install the binary globally:

mv cecil.phar /usr/local/bin/cecil
chmod +x /usr/local/bin/cecil

Important

PHP 8.1+ is required.

Usage

  • Get help: cecil help
  • Create a new website: cecil new:site
  • Preview your website: cecil serve

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

πŸ“– πŸ›

This project follows the all-contributors specification. Contributions of any kind welcome!

npx all-contributors add
npx all-contributors generate

Sponsors

studio cecilliestudio cecillieΒ Β Β Β Β Β Β Β Vercel Vercel

License

Cecil is a free software distributed under the terms of the MIT license.

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

cecil's People

Contributors

ahnlak avatar allcontributors[bot] avatar arnaudligny avatar backendtea avatar benjaminhirsch avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar dependencies-bot avatar dirtyf avatar funkym avatar github-actions[bot] avatar joevallender avatar magentix avatar peter279k avatar welcomattic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cecil's Issues

Dependencies.io troubleshooting

We're opening this issue to inform you about problems with your dependencies.io configuration or build failures.

We'll add a comment here when we see problems. You can close this issue when
you have things resolved -- we'll open it back up if we detect new problems.

Helpful links:

Note: To help keep your repo as clean as possible, this is the only issue
that we're going to open and comment on. Feel free to delete the comments
that are made as you resolve them, if you want to keep this issue short and tidy.

[Insight] Unused use statement should be avoided - in src/Command/Serve.php, line 13

in src/Command/Serve.php, line 13

The class PHPoole\PHPoole is declared but never used. You should remove the use statement.

 * file that was distributed with this source code.
 */

namespace PHPoole\Command;

use PHPoole\PHPoole;
use Symfony\Component\Filesystem\Exception\IOExceptionInterface;
use Symfony\Component\Filesystem\Filesystem as FS;
use Symfony\Component\Finder\Finder;
use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;

Posted from SensioLabsInsight

Server: disable cache

Add this when serving:

header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');

Phar package must include text file (required by minify)

Warning: file(phar:///usr/local/bin/phpoole/vendor/matthiasmullie/minify/src/../data/js/keywords_reserved.txt): failed to open stream: phar error: "vendor/matthiasmullie/minify/data/js/keywords_reserved.txt" is not a file in phar "/usr/local/bin/phpoole" in phar:///usr/local/bin/phpoole/vendor/matthiasmullie/minify/src/JS.php on line 122

[Insight] Commented code should not be committed - in src/Command/NewWebsite.php, line 30

in src/Command/NewWebsite.php, line 30

Commented out code reduces readability and lowers the code confidence for other developers. If it's common usage for debug, it should not be committed. Using a version control system, such code can be safely removed.

        $this->wlAnnonce('Creates a new website...');
        try {
            $fs = new FS();
            if (!$fs->exists($this->getPath().'/'.self::CONFIG_FILE) || $this->force) {
                //$fs->dumpFile($this->getPath().'/'.self::PHPOOLE_CONFIG_FILE, '');
                $fs->copy(__DIR__.'/../../skeleton/phpoole.yml', $this->getPath().'/'.self::CONFIG_FILE, true);
                /*
                $fs->mkdir([
                    $this->getPath().'/content',
                    $this->getPath().'/layouts',

Posted from SensioLabsInsight

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.