PHPackages                             eklausme/saaze-mobility - 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. eklausme/saaze-mobility

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

eklausme/saaze-mobility
=======================

A blog-theme for open-e-mobility.io

v1.6(1y ago)09MITPHP

Since Jan 21Pushed 1y ago1 watchersCompare

[ Source](https://github.com/eklausme/saaze-mobility)[ Packagist](https://packagist.org/packages/eklausme/saaze-mobility)[ RSS](/packages/eklausme-saaze-mobility/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (1)Versions (8)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/e68855897edea5012ce29f77f2c3c5b37f72422ae6876d30657c6e8648520b14/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f656b6c6175736d652f7361617a652d6d6f62696c697479)](https://packagist.org/packages/eklausme/saaze-mobility)[![License](https://camo.githubusercontent.com/7ae621b39108258dcedf47dd97264aa1cbb921b00856f048726d177089bb282f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f656b6c6175736d652f7361617a652d6d6f62696c697479)](https://packagist.org/packages/eklausme/saaze-mobility)

[*Simplified Saaze*](https://eklausmeier.goip.de/blog/2021/10-31-simplified-saaze) is the static site generator, which is used to generate this blog. So far, there are four example themes for *Simplified Saaze*.

1. [Saaze Example](https://github.com/eklausme/saaze-example): By choice, this design is very simple.
2. [Saaze J-Pilot](https://github.com/eklausme/saaze-jpilot): This design contains top-menus with sub-menus, pages in English and German, a blog, responsive elements. [Demo](https://eklausmeier.goip.de/jpilot).
3. [Saaze Koehntopp](https://github.com/eklausme/saaze-koehntopp): Based on Bootstrap CSS, modeled after [Type on Strap](https://github.com/sylhare/Type-on-Strap). [Demo](https://eklausmeier.goip.de/koehntopp).
4. [Saaze NukeKlaus](https://github.com/eklausme/saaze-nukeklaus): Based on [Twenty Sixteen](https://wordpress.org/themes/twentysixteen)/WordPress, multicolumn, hero image, light+dark mode. [Demo](https://eklausmeier.goip.de/nukeklaus).

Here is another [theme](https://github.com/eklausme/saaze-mobility), called *Mobility*, modeled after the website [open-e-mobility.io](http://open-e-mobility.io) from SAP Labs France. That website was built using [Avada Website Builder](https://avada.theme-fusion.com). Some characteristics of [open-e-mobility.io](http://open-e-mobility.io):

1. Responsive design with three, two, or only one column for index page
2. Blog with hero image for each blog post
3. Multi-lingual: English, German, and French
4. Various effects on pages: drop-shaped images, buttons for hyperlinks, lists with icons for numbering, hovering and opacity change for images
5. RSS feed
6. [Hamburger menu](https://code-boxx.com/simple-responsive-pure-css-hamburger-menu), [hoverable menu](https://www.w3schools.com/howto/howto_css_dropdown.asp)
7. [Scroll-to-top](https://www.w3schools.com/howto/howto_js_scroll_to_top.asp) button ("chevronButton")

My aim was to look roughly similar to the original website but dropping some of the effects, dropping contact-form (as e-mail is already provided), dropping [accordeon effect](https://www.w3schools.com/howto/howto_js_accordion.asp) for FAQ-page (deemed difficult to read for end user).

The source code for this theme is here: [saaze-mobility](https://github.com/eklausme/saaze-mobility). The demo-site is here: [mobility](https://eklausmeier.goip.de/mobility).

Using *Simplified Saaze* will further provide MathJax, Twitter, CodePen, image galleries, sitemap, and all the other goodies. In particular it is quite easy to add

1. Search functionality, if you have PHP on the web-server
2. Light and dark mode

**1. Comparison.** In [Analysis of Website Performance #2](https://eklausmeier.goip.de/blog/2022/12-27-analysis-of-website-performance-p2) I measured performance of the original [open-e-mobility.io](http://open-e-mobility.io) website. Measurement was done by using [pingdom](https://tools.pingdom.com). The performance of the original site is not too bad, but not really fast. Accessing the home page from Frankfurt is ca. two seconds. The new site is a tenth of that.

FeatureOriginalSimplified SaazePerformance gradeC 72A 91Load time1.78 s0.179 sNumber of requests6916Page size2.3 MB266.2 KBAnother comparison regarding the blog index: [The Open E-Mobility blog](https://open-e-mobility.io/blog) vs. *Simplified Saaze* version.

FeatureOriginalSimplified SaazePerformance gradeC 75A 97Load time1.36 s0.183 sNumber of requests6311Page size1.8 MB186.8 KBIt was an explicit goal to be fast.

**2. Installation.** Run

```
composer create-project eklausme/saaze-mobility
```

This will copy the files of this Git repository, it will also install *Simplified Saaze*. To run *Simplified Saaze* you still need to compile one C program, install one PECL (PHP extension), and configure one PHP file. This is something you have to do only once. These steps are described in [Installation](https://eklausmeier.goip.de/blog/2021/10-31-simplified-saaze/#installation).

1. install php-yaml extension, see [PECL's Yaml Way Faster Than Symfony's Yaml](https://eklausmeier.goip.de/blog/2021/10-06-pecls-yaml-way-faster-than-symfonys-yaml)
2. compile `php_md4c_toHtml.c`

Once everything is installed, switch to the directory and run

```
php saaze -mor
```

Runtime should be a fraction of a second. The options used:

1. `-m` is used to generate an XML sitemap
2. `-o` is used to generate an HTML sitemap, i.e., an overview
3. `-r` generates RSS XML feed

Assuming you installed everything in `~/saaze-mobility`, then for deployment on my local web-server I use below command line:

```
( rm -rf /srv/http/mobility; cd /srv/http; mv ~/saaze-mobility/build ./mobility ; cd mobility; ln -s ~/saaze-mobility/public/img )
```

The post [Installing Simplified Saaze on Windows 10 #2](https://eklausmeier.goip.de/blog/2023/01-31-installing-simplified-saaze-on-windows-10-p2) contains a description how to install *Simplified Saaze* on Windows.

**3. Conversion.** For the conversion of [open-e-mobility.io](http://open-e-mobility.io) to Markdown I simply used copy-and-paste from browser page directly. This approach is feasible here, as the original website only contains very few pages, and each pages contain few text. I converted only 31 pages.

**4. Templates and configuration.** There are two so called collections, `blog.yml` and `auxil.yml`. Both set `rss: true`, and set `entry_route: /{slug}`. So blog posts and auxiliary pages "mix" at the top directory.

Many Markdown files contain three additional entries in frontmatter managing multi-lingual. For example:

```
lang: "en"
de: "de/de-home"
fr: "fr/accueil"
```

Entry `lang` sets the language, in which the entry is shown. In above example the language is English. The German translation is to be found in `de/de-home`. The French translation is found in `fr/accueil`. If there is no translation available you drop the entry in the yaml-file.

The blog entries contain another yaml entry for the [hero image](https://www.w3schools.com/howto/howto_css_hero_image.asp). For example:

```
heroimg: "microphone_01-1-400x267.jpg"
```

This denotes where to find the hero image. The entry-template checks whether a hero image is present.

Templates are pretty standard:

- An `entry.php` for all entries, except blog-indexes.
- `index.php` for the blog index.
- `error.php` for any system error messages.
- `top-layout.php` for the commonalities at the top, which is further split into a separate `header.php`. `top-layout.php` also contains all CSS.
- `bottom-layout.php` contains all commonalities for all bottom parts of all pages.

Care has been taken in the templates to keep everything relative, i.e., the site can be moved up or down in the file hierarchy. One aid here is the use of the `$rbase` (relative base) variable.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance42

Moderate activity, may be stable

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

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 ~116 days

Recently: every ~172 days

Total

7

Last Release

505d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6cb6a06f07a8cb9822c4f0a919959842b785154072973e62e43025089c454109?d=identicon)[eklausmeier](/maintainers/eklausmeier)

---

Top Contributors

[![eklausme](https://avatars.githubusercontent.com/u/1020520?v=4)](https://github.com/eklausme "eklausme (8 commits)")

### Embed Badge

![Health badge](/badges/eklausme-saaze-mobility/health.svg)

```
[![Health](https://phpackages.com/badges/eklausme-saaze-mobility/health.svg)](https://phpackages.com/packages/eklausme-saaze-mobility)
```

###  Alternatives

[mustache/mustache

A Mustache implementation in PHP.

3.3k44.6M291](/packages/mustache-mustache)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)

PHPackages © 2026

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