Template
La presentazione è un text/template di Go,
valutato prima che il Markdown venga analizzato. Tutto ciò che il linguaggio
dei template Go offre — azioni, pipeline, if, range, with, variabili — funziona
in una presentazione.
Dati
Il punto del template contiene le chiavi del front matter, poi le chiavi della mappa
data:, poi i dati forniti sulla riga di comando o in slides.yaml
— ciascuno sovrascrive il precedente.
---
marp: true
title: Quarterly review
data:
team: Platform
---
# {{ .title }}
Presented by the {{ .team }} team.Dalla riga di comando:
| Flag | Fornisce |
|---|---|
--data file.yaml | un file di dati YAML o JSON (ripetibile) |
--set key=value | un valore (ripetibile) |
Generare slide
L’intero corpo è un unico template, quindi un range che scrive --- scrive slide:
{{ range .releases }}
---
# {{ .version }}
{{ range .changes }}- {{ . }}
{{ end }}
{{ end }}Pagina e totale
{{ page }} e {{ total }} sono il numero della slide e il numero di
slide. Sono noti solo dopo che la presentazione è stata divisa, quindi vengono compilati
in quel momento — una presentazione generata conta le slide che ha generato.
<!-- footer: "{{ page }} / {{ total }}" -->Include
{{ include "parts/agenda.md" }} inserisce un altro file, relativo alla
presentazione.
Il codice non viene toccato
I blocchi di codice delimitati e le porzioni di codice in linea vengono messi da parte prima che il template
venga eseguito e ripristinati alla lettera, quindi una slide sui template Go può mostrare
{{ .Name }} senza fare l’escape.
Limiti
L’esecuzione dei template ha un budget di passi, in modo che una presentazione i cui template annidano
range su grandi liste di dati non possa tenere occupato il renderer per minuti. Oltre
1.048.576 passi (iterazioni di ciclo e chiamate di template, condivisi con gli include
di una stessa espansione) o 10 s, la presentazione viene rifiutata con la diagnostica
template.limit invece di bloccarsi. Un passo costa circa 260 ns, quindi le presentazioni
ordinarie restano ben al di sotto del limite. Dalla v0.17.1.
Disattivarlo
--no-template legge la presentazione come Marp semplice: {{ è testo.
Created on by tannevaled
Modified on by tannevaled