Zum Inhalt springen

Vorlagen

Interpolation mit Go-text/template in einem Foliensatz: Werte, erzeugte Folien, Seitenzahlen, Includes.

Der Foliensatz ist ein Go-text/template, das ausgewertet wird, bevor das Markdown geparst wird. Alles, was die Go-Template- Sprache bietet – Aktionen, Pipelines, if, range, with, Variablen –, funktioniert in einem Foliensatz.

Daten

Der Punkt der Vorlage enthält die Schlüssel des Front-Matters, dann die Schlüssel seiner data:-Map, dann die Daten, die auf der Kommandozeile oder in slides.yaml angegeben werden – jede Stufe überschreibt die vorherige.

---
marp: true
title: Quarterly review
data:
  team: Platform
---

# {{ .title }}

Presented by the {{ .team }} team.

Von der Kommandozeile:

FlagLiefert
--data file.yamleine YAML- oder JSON-Datei mit Daten (wiederholbar)
--set key=valueeinen Wert (wiederholbar)

Folien erzeugen

Der gesamte Rumpf ist eine einzige Vorlage, sodass ein range, das --- schreibt, Folien schreibt:

{{ range .releases }}
---

# {{ .version }}

{{ range .changes }}- {{ . }}
{{ end }}
{{ end }}

Seite und Gesamtzahl

{{ page }} und {{ total }} sind die Nummer der Folie und die Anzahl der Folien. Sie sind erst bekannt, nachdem der Foliensatz aufgeteilt wurde, und werden deshalb erst dann eingesetzt – ein erzeugter Foliensatz zählt die Folien, die er erzeugt hat.

<!-- footer: "{{ page }} / {{ total }}" -->

Include

{{ include "parts/agenda.md" }} fügt eine andere Datei ein, relativ zum Foliensatz.

Code bleibt unberührt

Codeblöcke und Inline-Code-Spans werden beiseitegelegt, bevor die Vorlage läuft, und unverändert wiederhergestellt, sodass eine Folie über Go-Vorlagen {{ .Name }} zeigen kann, ohne es zu maskieren.

Abschalten

--no-template liest den Foliensatz als reines Marp: {{ ist Text.

Erstellt am von tannevaled

Geändert am von tannevaled