Aller au contenu

Gabarits

Interpolation de gabarits Go text/template dans une présentation : valeurs, diapositives générées, numéros de page, inclusions.

La présentation est un gabarit Go text/template, évalué avant l’analyse du Markdown. Tout ce qu’offre le langage de gabarits de Go — actions, pipelines, if, range, with, variables — fonctionne dans une présentation.

Données

Le point du gabarit contient les clés du front matter, puis les clés de son mapping data:, puis les données fournies en ligne de commande ou dans slides.yaml — chacune remplaçant la précédente.

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

# {{ .title }}

Presented by the {{ .team }} team.

En ligne de commande :

OptionFournit
--data file.yamlun fichier de données YAML ou JSON (répétable)
--set key=valueune valeur (répétable)

Générer des diapositives

Le corps entier est un seul gabarit : un range qui écrit --- écrit donc des diapositives :

{{ range .releases }}
---

# {{ .version }}

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

Numéro de page et total

{{ page }} et {{ total }} sont le numéro de la diapositive et le nombre de diapositives. Ils ne sont connus qu’une fois la présentation découpée : ils sont donc renseignés à ce moment-là — une présentation générée compte les diapositives qu’elle a générées.

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

Inclusion

{{ include "parts/agenda.md" }} insère un autre fichier, relatif à la présentation.

Le code n’est pas touché

Les blocs de code délimités et les extraits de code en ligne sont mis de côté avant l’exécution du gabarit puis restitués tels quels : une diapositive consacrée aux gabarits Go peut ainsi montrer {{ .Name }} sans l’échapper.

Désactivation

--no-template lit la présentation comme du Marp ordinaire : {{ est du texte.

Créée le par tannevaled

Modifiée le par tannevaled