模板
您正在阅读的是旧版本的文档,其内容可能已不再准确。 前往最新版本。
演示文稿本身就是一个 Go text/template,
在解析 Markdown 之前求值。Go 模板语言的所有功能(动作、管道、if、range、with、变量)
都可以在演示文稿中使用。
数据
模板的点(dot)依次包含 front matter 的键、其 data: 映射中的键,
以及通过命令行或 slides.yaml 提供的数据,后者覆盖前者。
---
marp: true
title: Quarterly review
data:
team: Platform
---
# {{ .title }}
Presented by the {{ .team }} team.通过命令行提供:
| 参数 | 提供的内容 |
|---|---|
--data file.yaml | 一个 YAML 或 JSON 数据文件(可重复) |
--set key=value | 一个值(可重复) |
生成幻灯片
整个正文是一个模板,因此写出 --- 的 range 就能生成幻灯片:
{{ range .releases }}
---
# {{ .version }}
{{ range .changes }}- {{ . }}
{{ end }}
{{ end }}页码与总页数
{{ page }} 和 {{ total }} 分别是当前幻灯片的序号和幻灯片总数。
只有在演示文稿被拆分之后才能知道它们的值,所以它们在那时才被填入:
生成的演示文稿统计的是它实际生成的幻灯片。
<!-- footer: "{{ page }} / {{ total }}" -->引入文件
{{ include "parts/agenda.md" }} 会插入另一个文件,路径相对于演示文稿。
代码不受影响
围栏代码块和行内代码在模板执行之前会被暂存,之后原样还原,
因此一张讲解 Go 模板的幻灯片可以直接显示 {{ .Name }},无需转义。
关闭
--no-template 会将演示文稿当作纯 Marp 读取:{{ 就是普通文本。
Created on by tannevaled
Modified on by tannevaled