Herbie is a simple, modern, fast and highly customizable flat-file Content Management System (CMS) powered by PHP, Twig, Markdown, Textile, reStructuredText and other human-readable text files.


Keywords
blog, cms, flat-file, herbie, flat-file-cms, flatfile, flatfilecms, hacktoberfest, markdown, php, textile, twig, website-builder
License
BSD-3-Clause

Documentation

Packagist GitHub (pre-)release License PHP from Packagist

Herbie

Create small but fully functional websites or blogs in no time and with little effort 👌

Herbie is a simple, modern, fast and highly customizable flat-file Content Management System (CMS) powered by PHP, Twig, Markdown, Textile, reStructuredText and other human-readable text files.

Featuring

Herbie is powered by proven libraries:

Thanks to its plugin system Herbie is highly customizable and brings support for:

  • Application and Route Middlewares
  • Event Listeners
  • Twig Filters, Twig Globals, Twig Functions and Twig Tests
  • Symfony Console Commands

Herbie implements the following PHP standard recommendations:

Herbie is well tested:

Use Cases

TBD

Installation

Composer

The easiest way to install Herbie is through Composer. Run the following commands in your terminal to create a new project and install all dependent libraries.

composer create-project getherbie/start-website mywebsite

Change to the mywebsite/web directory:

cd mywebsite/web

Start the internal webserver:

php -S localhost:8888 index.php

Now open http://localhost:8888 with your browser. You should see your first Herbie website.

Development Environment

If you need a development environment, you can follow these steps.

Clone the GitHub repository.

git clone https://github.com/getherbie/herbie.git

Change to the herbie directory.

cd herbie

Install Composer dependencies.

composer install

Change to the website/web directory.

cd website/web/

Start PHP's internal web server.

php -S localhost:9999 index.php

Now, open localhost:9999 with your favorite web browser.

If you want to have additional console output or logging information, set the debug environment variable.

HERBIE_DEBUG=1 php -S localhost:9999 index.php

If you want to use Xdebug (3.x), start the internal web server as follows. Hint: For this to work, Xdebug must of course be installed.

XDEBUG_MODE=debug php -S localhost:9999 index.php

Tests

Run unit tests

php vendor/bin/codecept run unit

Run integration tests

php vendor/bin/codecept run integration

Run acceptance tests

php vendor/bin/codecept run acceptance

Run all tests

php vendor/bin/codecept run

Run tests with Code Coverage

XDEBUG_MODE=coverage vendor/bin/codecept run --coverage --coverage-xml --coverage-html

More Information

For more information, see https://herbie.tebe.ch.