PHPackages                             eklausme/saaze-koehntopp - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. eklausme/saaze-koehntopp

ActiveProject[Utility &amp; Helpers](/categories/utility)

eklausme/saaze-koehntopp
========================

An example theme and content using the Simplified Saaze static site generator

v1.3(1y ago)03MITCSS

Since Jul 9Pushed 1y ago1 watchersCompare

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

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

[![Latest Stable Version](https://camo.githubusercontent.com/b3184c3235917f29c16442c1be35cf2d05e104e4903ba9c8c550bde724e9ff55/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f656b6c6175736d652f7361617a652d6b6f65686e746f7070)](https://packagist.org/packages/eklausme/saaze-koehntopp)[![License](https://camo.githubusercontent.com/e6f409ae7bea4051b658695908ccbf47a56f584b28667e78dcb24810addbb429/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f656b6c6175736d652f7361617a652d6b6f65686e746f7070)](https://packagist.org/packages/eklausme/saaze-koehntopp)

Example theme for Simplified Saaze
==================================

[](#example-theme-for-simplified-saaze)

Here is an example theme, called Koehntopp, modeled after the personal blog of [Kristian Köhntopp](https://blog.koehntopp.info). This blog itself is based on the [Jekyll](https://jekyllrb.com)-based theme [Type on Strap](https://github.com/sylhare/Type-on-Strap). Some characteristics:

1. Responsive design
2. Based on [Bootstrap-CSS](https://en.wikipedia.org/wiki/Bootstrap_(front-end_framework))
3. Tags
4. Blog
5. RSS feed
6. Search functionality, if you have PHP on the web-server

This koehntopp example will generate a full website for the blog of Kristian Köhntopp.

Using *Simplified Saaze* will further provide MathJax, YouTube, Twitter, CodePen, image galleries, and all the other goodies.

Simplified Saaze
================

[](#simplified-saaze)

*Simplified Saaze* is a fast, all-inclusive, flat-file CMS for simple websites and blogs.

Static site builders are fast but normally have a steep learning curve and require lots of tooling to make them work. We believe building a personal site should be stupidly simple. That's why *Simplified Saaze* is built on the following principles.

- Easy to run - All you need is PHP8, a C compiler, and Composer
- Easy to host - Serve dynamically or statically
- Easy to edit - Edit content using simple Markdown files
- Easy to theme - Templates use plain PHP/HTML
- Fast and secure - No database = less moving parts + more speed
- Simple to understand - Everything is a collection of entries

Read [*Simplified Saaze*](https://eklausmeier.goip.de/blog/2021/10-31-simplified-saaze) for installation and usage.

Installation
============

[](#installation)

Run

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

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.

Deployment and Usage
====================

[](#deployment-and-usage)

The following directories and files only need to be copied if they have been changed:

1. public/assets
2. koehntopp.css

**1. Demo.** You can view the theme in action here: [koehntopp](/koehntopp). The content is directly from [Kristian Köhntopp's GitHub page](https://github.com/isotopp/isotopp.github.io).

The source code for the [koehntopp](/koehntopp) theme is here: [eklausme/saaze-koehntopp](https://github.com/eklausme/saaze-koehntopp). It can be installed with [Composer](https://getcomposer.org):

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

This will install the theme and the static site generator in one step. You still need to follow the steps in [Installation](https://eklausmeier.goip.de/blog/2021/10-31-simplified-saaze/#installation), i.e.,

1. make yaml extension available for `php`
2. compile `php_md4c_toHtml.c`

Once everything is installed switch to the directory and run

```
time php saaze -d /tmp/build
```

The `time` is only to show you how quick it really is. Runtime on [AMD Ryzen 7 5700G](https://eklausmeier.goip.de/blog/2022/05-03-upgrade-amd-bulldozer-to-cezanne) is less than 0.2 seconds for almost 1,000 blog posts. And for this only a single core is used. The `-d /tmp/build` is used to generate the static HTML file in `/tmp`, which happens to be a RAM disk on Arch Linux. Any other directory will do.

**2. Conversion.** In case you want to replicate the conversion from the original blog of Kristian Köhntopp, hitherto using [Hugo](https://gohugo.io), to *Simplified Saaze* you will proceed as follows:

1. Clone GitHub repository [github.com/isotopp.github.io](https://github.com/isotopp/isotopp.github.io)
2. Manually rename `Manually rename 2019-04-25-what-has-kubernetes-ever-done=for-us.md` to the same file without the equal sign
3. Remove file 2004-02-08-cooties.md, as it is entirely empty
4. Run each content file through Perl script `blogkoehntopp`, i.e., `for i in *.md; do ... done`
5. Change directory to `content/posts` and run Perl script `blogcategory -p ../ *.md > ../cat_and_tags.json`
6. I ran the CSS through [CSS Beautifier](https://www.freeformatter.com/css-beautifier.html)

**3. Comparison.** Below are the number of lines for configuration and templates, furthermore errors on pages, and runtimes. Runtimes were measured on [AMD Ryzen 7 5700G](https://eklausmeier.goip.de/blog/2022/05-03-upgrade-amd-bulldozer-to-cezanne), max. 5.7 GHz, 64 GB RAM, all files were in RAM disk.

HugoSimplified Saazeconfig.yaml: 87posts.yml+aux.yml: 10partials:\*.html:136templates:top+bottom.php:139[W3 validator errors](https://validator.w3.org/nu/?doc=https%3A%2F%2Fblog.koehntopp.info%2F2022%2F05%2F16%2Ffertig-gelesen-crafting-interpreters.html):8[W3 validator errors](https://validator.w3.org/nu/?doc=https%3A%2F%2Feklausmeier.goip.de%2Fkoehntopp%2F2022-05-16-fertig-gelesen-crafting-interpreters%2F):0hugo build: real 1.15sphp saaze: real 0.19shugo build: user 12.15sphp saaze: user 0.15sKristian Köhntopp [reports runtime](https://blog.koehntopp.info/2021/11/07/this-blog-is-now-hugo-powered.html) for Hugo to be 8.156s on his machine. Apparently, his machine is a slow machine. So according above table based on Ryzen 5700G, *Simplified Saaze* is more than six times faster than Hugo in real time. Real time is the time, the user actually has to wait for his results, sometimes also called elapsed time. *Simplified Saaze* is more than 70-times faster than Hugo w.r.t. CPU time. User time is the time all CPUs together needed to compute your result. The AMD Ryzen 7 5700G CPU has 16 logical cores. All these cores were used by Hugo, only one was used for *Simplified Saaze*. More comparison of runtimes between *Simplified Saaze* and other static site generators are here [Performance Comparison Saaze vs. Hugo vs. Zola](../../2021/11-13-performance-comparison-saaze-vs-hugo-vs-zola).

Kristian Köhntopp remarks:

> Build time is 0.272s, approximately human reaction time - it's instant.

That's the time Hugo needs for refreshing a single page. At the same time, that's the time *Simplified Saaze* needs to rebuild the entire 1,000 pages.

Credits
=======

[](#credits)

*Simplified Saaze* was created by [Elmar Klausmeier](https://eklausmeier.goip.de).

Saaze was created by [Gilbert Pellegrom](https://gilbitron.me) from [Dev7studios](https://dev7studios.co). Released under the MIT license.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance48

Moderate activity, may be stable

Popularity3

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

Total

4

Last Release

389d 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 (7 commits)")

### Embed Badge

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

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

PHPackages © 2026

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