Referenz

HeroML

Syntax

HeroML kennt genau zwei Zeilentypen. Eingerückt wird mit zwei Leerzeichen pro Ebene.

Blöcke & Felder

Eine Block-Zeile beginnt mit einem Typnamen und optionalen Attributen und öffnet einen Block. Eine Feld-Zeile der Form schlüssel: wert setzt eine Eigenschaft des umschließenden Blocks; alles nach dem Doppelpunkt ist der Wert (reiner Text, der beim Rendern maskiert wird).

heading            # Block-Zeile
  level: 2         # Feld-Zeile
  text: Aus dem Blog

Intern ist ein Block schlicht ein Objekt { type, attrs, fields, children }. Attribute und Felder werden beim Rendern zu den Eigenschaften des Blocks zusammengeführt.

Attribute

Attribute stehen direkt in der Block-Zeile — praktisch für kurze Werte. Drei Formen sind möglich:

FormBeispielErgibt
unquotiertfeature icon=bolticon = "bolt"
in Anführungszeichenbutton label="Jetzt kaufen"Werte mit Leerzeichen
Flagsection altalt = true

Attribut und Feld sind gleichwertig; für längere oder mehrzeilige Werte empfiehlt sich das Feld.

Verschachtelung

Tiefer eingerückte Zeilen sind Kinder des darüberliegenden Blocks. So entstehen Strukturen — etwa Schaltflächen innerhalb eines Aufmachers oder Features in einem Raster.

features cols=3
  feature
    title: Reportagen
    text: Ausführliche Geschichten mit Zeit zum Erzählen.
  feature
    title: Fotostrecken
    text: Bilder, die einen Ort spürbar machen.
  feature
    title: Service
    text: Konkrete Tipps für die eigene Reise.
Ergebnis ↓
Reportagen

Ausführliche Geschichten mit Zeit zum Erzählen.

Fotostrecken

Bilder, die einen Ort spürbar machen.

Service

Konkrete Tipps für die eigene Reise.

Roh-Blöcke

Die Blöcke markdown, html und code übernehmen ihren eingerückten Inhalt wörtlich (mehrzeilig) — ideal für Fließtext.

markdown
  # Überschrift
  Ein **Absatz** mit mehreren Zeilen.
markdown und html werden vor der Ausgabe bereinigt (Skripte, Event-Handler und javascript:-Links werden entfernt).

Platzhalter

In Feldwerten greift {{ … }} auf ausgewählte Werte zu; die Ausgabe wird stets maskiert.

PlatzhalterWert
{{ site.title }}Seitentitel (aus den Einstellungen)
{{ site.description }}Seitenbeschreibung
{{ post.title }}Titel des aktuellen Beitrags (Einzelansicht)
{{ page.title }}Titel der aktuellen Seite
{{ year }}aktuelles Jahr