Templates
A apresentação é um text/template do Go,
avaliado antes de o Markdown ser analisado. Tudo o que a linguagem de
templates do Go tem — ações, pipelines, if, range, with, variáveis —
funciona em uma apresentação.
Dados
O ponto (dot) do template contém as chaves do front matter, depois as chaves do
mapeamento data:, depois os dados informados na linha de comando ou em
slides.yaml — cada um sobrescrevendo o anterior.
---
marp: true
title: Quarterly review
data:
team: Platform
---
# {{ .title }}
Presented by the {{ .team }} team.Pela linha de comando:
| Flag | Fornece |
|---|---|
--data file.yaml | um arquivo YAML ou JSON de dados (repetível) |
--set key=value | um valor (repetível) |
Gerar slides
O corpo inteiro é um só template, então um range que escreve --- escreve
slides:
{{ range .releases }}
---
# {{ .version }}
{{ range .changes }}- {{ . }}
{{ end }}
{{ end }}Página e total
{{ page }} e {{ total }} são o número do slide e o número de slides. Eles só
são conhecidos depois que a apresentação foi dividida, então são preenchidos
nesse momento — uma apresentação gerada conta os slides que gerou.
<!-- footer: "{{ page }} / {{ total }}" -->Include
{{ include "parts/agenda.md" }} insere outro arquivo, relativo à
apresentação.
O código é deixado em paz
Blocos de código delimitados e trechos de código em linha são postos de lado
antes de o template rodar e restaurados literalmente, então um slide sobre
templates Go pode mostrar {{ .Name }} sem escapá-lo.
Limites
A execução dos templates tem um orçamento de passos, para que uma apresentação
cujos templates aninham range sobre listas de dados grandes não possa manter o
renderizador ocupado por minutos. Passados 1.048.576 passos (iterações de laço e
chamadas de template, compartilhados com os includes de uma mesma expansão) ou
10 s, a apresentação é recusada com o diagnóstico template.limit em vez de
travar. Um passo custa cerca de 260 ns, então as apresentações comuns ficam bem
abaixo do limite. Desde a v0.17.1.
Desativar
--no-template lê a apresentação como Marp simples: {{ é texto.
Created on by tannevaled
Modified on by tannevaled