PureWiki verwendet ein einfaches, PHP-basiertes Templating-System für das Rendering des öffentlichen Frontends. Dieses System legt Wert auf Einfachheit und Leistung gegenüber komplexen Template-Sprachen wie Twig oder Blade.

Architektur

Themes befinden sich im Verzeichnis themes/. Die zentrale Layout-Datei heißt immer page.php.

Verzeichnisstruktur

themes/default/
├── page.php          # Haupt-Layout-Datei
├── elements/         # Wiederverwendbare HTML-Snippets
│   ├── header.php
│   ├── content.php
│   └── footer.php
Leistungs-Tipp:
Verwende beim Einbinden statischer Snippets wie header.php den Befehl echo file_get_contents(__DIR__ . '/path'), um den PHP-Parsing-Overhead zu minimieren.

Platzhalter und Variablen

Platzhalter werden durch {{ variablen_name }} gekennzeichnet. Der Renderer ersetzt diese während des Build-Prozesses.

Verfügbare Systemvariablen

Bedingte Logik

Der Renderer unterstützt einfache {{ if variable }} und {{ endif }} Blöcke.

{{ if hide_left_sidebar }}
  <!-- Seitenleiste ist über Seiteneinstellungen ausgeblendet -->
{{ else }}
  <aside>
    {{ virtual:left_sidebar }}
  </aside>
{{ endif }}

Virtuelle Seiten und Makros

Themes verlassen sich auf Virtuelle Seiten ({{ virtual:name }}) für globale Inhalte und Makros ({{ macro:name }}) für dynamische Logik wie Suche oder Navigation.