Variablen

Herbie durchläuft bestimmte Verzeichnisse deiner Website und arbeitet Textdateien mit einem Seiteneigenschaften-Block ab. Für jede dieser Dateien erzeugt Herbie verschiedene Daten und macht diese über die Twig Template Engine bzw. über Shortcodes verfügbar. Nachfolgend siehst du eine Übersicht dieser Daten.

Variable Beschreibung Typ
route

Die angefragte Seite, z.B. doku/vars.

string
site

Projektweite Variablen.

Object
page

Variablen, die der aktuellen Seite zugeordnet werden.

Object
theme

Das in der Konfiguration definierte Theme.

string

Site-Variablen

Variable Beschreibung Typ
site.charset

Der Zeichensatz (Default: utf-8)

string
site.language

Die Sprache als zweistelliger Code (Default: de)

string
site.locale

Die Locale-Einstellungen (Default: de_DE)

string
site.time

Die aktuelle Zeit im ISO 8601 Format (2004-02-12T15:19:21+00:00).

string
site.created

Die Zeit der zuletzt erstellten Seite im ISO 8601 Format (2004-02-12T15:19:21+00:00).

string
site.modified

Die Zeit der zuletzt geänderten Seite im ISO 8601 Format (2004-02-12T15:19:21+00:00).

string
site.menu

Ein Menu als Liste aller vorhandenen Seiten.

Traversable
site.tree

Ein Menu als Baumstruktur aller vorhandenen Seiten.

Traversable
site.posts

Ein Menu als Liste aller Blogposts.

Traversable
site.rootPath

Ein Menu als Liste aller Seiten von der Wurzel bis zur aktuellen Seite.

Traversable
site.data.<NAME>

Projektweite Datenstrukturen, die im Verzeichnis site/data abgelegt sind.

mixed

Page-Variablen

Variable Beschreibung Typ
title

Der Titel der Seite.

string
layout

Definiert das Layout, mit welchem die Seite angezeigt werden soll. Gib das Layout inklusive Dateiendung an. Layout-Dateien müssen im Ordner site/layouts/ abgelegt sein.

string
format

Der Formatierer, z.B. Markdown oder Textile. Wird von Herbie abhängig von der Dateiendung vorgefüllt. Eine Datei mit der Endung .md bekommt den Markdown-Formatierer, eine mit der Endung .textile den Textile-Formatierer.

string
date

Das Datum der Seite. Dies ist ein explizit gesetztes Datum oder das Modifikationsdatum der Datei.

string
keep_extension

Gibt an, ob für die URL die Dateiendung angezeigt werden soll

bool
menu

Wird in Navigationen wie Sitemap oder Breadcrumbs als Text angezeigt. Wenn leer, wird der normale Seitentitel angezeigt.

string
content_type

Definiert den Content-Type der Seite. Damit werden die HTTP Headers vor der Ausgabe der Seite korrekt gesetzt.

string
authors

Der oder die Autoren des Posts.

array
categories

Eine oder mehrere Kategorien, denen der Post zugeordnet ist.

array
tags

Ein oder mehrere Tags, denen der Post zugeordnet ist.

array
path

Der Pfad zur entsprechenden Datei. Wird von Herbie automatisch vorgefüllt.

string
nocache

Das Caching der Seite wird deaktiviert, falls dieses Flag gesetzt ist.

bool
hidden

Steuert die Sichtbarkeit einer Seite in Menüs.

bool
twig

Wenn diese Flag gesetzt ist, werden die Inhalte der Seite zusätzlich (und zuerst) mit Twig gerendert.

bool
<NAME>

Beliebig viele eigene Variablen.

mixed

Alle Variablen kannst du in den Layoutdateien als normale Twig-Variable abrufen. Hier sind einige Beispiele:

{{ route }}
{{ site.language }}
{{ site.data.persons }}
{{ page.layout }}
{{ page.tags }}

Variablen kannst du in Seiteninhalten auch über Shortcodes abrufen. Das sieht dann so aus:

[page.title]
[page.layout]

In der Regel wirst du die Variablen aber in Layoutdateien nutzen, um zum Beispiel abhängig von einem bestimmten Wert einer Seiten-Variable etwas Bestimmtes anzuzeigen.