PHPackages                             bitexpert/additeasy - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. bitexpert/additeasy

AbandonedArchivedLibrary[Templating &amp; Views](/categories/templating)

bitexpert/additeasy
===================

PSR-7 compatible flat-file CMS

v0.2.0(9y ago)7293Apache-2.0PHPPHP ^7.1

Since Jul 11Pushed 9y ago2 watchersCompare

[ Source](https://github.com/bitExpert/addItEasy)[ Packagist](https://packagist.org/packages/bitexpert/additeasy)[ RSS](/packages/bitexpert-additeasy/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (1)Dependencies (5)Versions (6)Used By (0)

bitexpert/additeasy
===================

[](#bitexpertadditeasy)

addItEasy is a PSR-7 compatible flat-file CMS and static site generator written in PHP.

Installation
------------

[](#installation)

The preferred way of installing `bitexpert/additeasy` is through Composer. Simply add `bitexpert/additeasy` as a dependency:

```
composer.phar require bitexpert/additeasy

```

To initialize a new project simply call the init command of the provided addItEasy cli tool:

```
./vendor/bin/addItEasy init

```

Add a template
--------------

[](#add-a-template)

addItEasy uses [Twig](http://twig.sensiolabs.org) as templating engine. Create a template named "default.twig" in the templates folder like this:

```
>

    {{ site.title }}

{% block content %}
{% endblock %}

```

Adding content
--------------

[](#adding-content)

Content files need to placed in the content directory. Content files are basically Twig files which provide the [blocks](http://twig.sensiolabs.org/doc/tags/block.html) required by the template.

```
{% extends "default.twig" %}

{% block content %}

    Hello World!

{% endblock content %}

```

Every page of your site is represented by a subfolder in the content directory. The folder names build the URL structure for your site, nested subfolders are allowed. Each folder needs to be prefixed with a number which is used to indicate the sorting order. Each folder needs to contain one twig template file containing the content to display.

The content folder could look like this:

```
  |-01-home
  |---home.twig
  |-02-about
  |---about.twig
  |-posts
  |---01-post1
  |-----post1.twig
  |---02-post2
  |-----post2.twig
  |---03-post3
  |-----post3.twig
  |---04-post4
  |-----post4.twig

```

### Twig helper functions

[](#twig-helper-functions)

The current page object gets exposed as a variable named "page" in the template, the $EASY\_CONF\["site"\] configuration array gets exposed as variable named "site". In addition to that addItEasy exposes 3 helper functions to "interact" with the content pages.

The children($pagename) function takes a page name as an argument and returns the child pages.

```
{% for post in children('posts') %}
    {{ post.getName() }}
{% endfor %}

```

The siblings($pagename) function takes a page name as an argument and returns all sibling pages including the current page.

```
{% for mainnav in siblings('home') %}
    {{ mainnav.getName() }}
{% endfor %}

```

The pageblock($page, $blockname) function takes a page object as first argument and the name of the block to render as a second argument.

```
{% for post in children('posts') %}
    {{ pageblock(post, 'title') }}
{% endfor %}

```

Running addItEasy
-----------------

[](#running-additeasy)

### Running addItEasy as a flat-file CMS

[](#running-additeasy-as-a-flat-file-cms)

In case you want to run addItEasy locally the following command needs to be executed in the project directory:

```
php -S 0.0.0.0:8080 -t .

```

Open a web browser and point it to  so see addItEasy in action.

### Running addItEasy as a static site generator

[](#running-additeasy-as-a-static-site-generator)

To export static HTML pages run the export command od the provided addItEasy cli tool:

```
./vendor/bin/addItEasy export

```

The HTML files as well as the assets will get exported to the folder specified in the project configuration.

License
-------

[](#license)

addItEasy is released under the Apache 2.0 license.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~177 days

Total

3

Last Release

3285d ago

PHP version history (2 changes)v0.1.0PHP ^7.0

v0.2.0PHP ^7.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/1adf0ab660536efce10aeb97f0c90ec881110b64fbd23429fa945190df0def56?d=identicon)[shochdoerfer](/maintainers/shochdoerfer)

---

Top Contributors

[![shochdoerfer](https://avatars.githubusercontent.com/u/596449?v=4)](https://github.com/shochdoerfer "shochdoerfer (15 commits)")

---

Tags

cmsflat-filepsr-7twig

### Embed Badge

![Health badge](/badges/bitexpert-additeasy/health.svg)

```
[![Health](https://phpackages.com/badges/bitexpert-additeasy/health.svg)](https://phpackages.com/packages/bitexpert-additeasy)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.6k38.2k](/packages/matomo-matomo)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9317.2k55](/packages/open-dxp-opendxp)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
