KleinSite

Es muss nicht immer WordPress sein

KleinSite ist ein schlankes PHP-Framework für persönliche Websites ohne Datenbank. Keine Installationsroutine, kein Admin-Backend, kein Plugin-Ökosystem das gepflegt werden will. Nur PHP, Twig und Markdown.

Warum kein WordPress

WordPress ist eine ausgereifte Plattform – für Blogs, Shops und komplexe Redaktionssysteme. Wer aber eine persönliche Seite mit einem Dutzend Seiten betreiben will, zahlt einen hohen Preis: Datenbankabhängigkeit, Update-Pflege, Sicherheitslücken in Plugins, ein Admin-Interface das mehr Oberfläche bietet als man je braucht.

KleinSite dreht das Verhältnis um. Der Entwickler bleibt im Code – in Dateien, in Versionskontrolle, in Strukturen die er kennt und kontrolliert.

Philosophie

Jede Seite ist ein Twig-Template. Templates erben von einem gemeinsamen Layout, definieren Titel und Untertitel als Blöcke und enthalten was sie enthalten müssen – nicht mehr.

Wer nur Text braucht, schreibt Markdown. Wer Struktur braucht, schreibt Twig. Beides kann kombiniert werden. Eine Markdown-Datei mit Frontmatter reicht für einen vollständigen Artikel:

---
title: Der Rewrite-Reflex
subtitle: Warum neu schreiben wieder Legacy produziert
---

## Der erste Impuls
...

Wer mehr Kontrolle braucht, schreibt ein Twig-Template:

{% extends 'base.layout.twig' %}

{% block header_title %}Der Rewrite-Reflex{% endblock %}
{% block header_subtitle %}Warum neu schreiben wieder Legacy produziert{% endblock %}

{% block content %}
    {{ markdown('rewrite-reflex.md') }}
{% endblock %}

Technischer Stack

KleinSite basiert auf bewährten PHP-Komponenten:

Keine Datenbank. Keine Session. Kein State.

Wie Seiten entstehen

Das Routing ist denkbar einfach: /{slug} mappt auf pages/{slug}.twig – oder, wenn kein Template vorhanden ist, auf content/{slug}.md. Existiert beides nicht, erscheint eine 404-Seite.

Ein neuer Artikel entsteht in zwei Schritten: Markdown-Datei anlegen, Frontmatter setzen, fertig. Kein Deployment, kein Cache leeren, kein Admin-Login.

Twig-Komponenten

KleinSite bringt eine eigene Twig-Extension mit, die häufig benötigte Komponenten als Funktionen bereitstellt:

markdown('datei.md') – lädt eine Markdown-Datei und rendert sie als HTML.

accordion(id, items) – rendert ein Bootstrap-Accordion mit Twig-Partials als Content.

card(data) / cards(items, options) – einzelne Card oder responsives Grid, mit optionalem Titel, Untertitel, Badge, Content und Link.

alert(type, partial) – Hinweisbox in den Varianten info, success, warning und danger.

Alle Komponenten akzeptieren Twig-Partials als Content – die Partials können ihrerseits markdown() aufrufen, HTML enthalten oder beides kombinieren.