如何在Quarto Reveal.js的YAML页脚自动插入当前日期?
在Quarto Reveal.js演示文稿中实现自动更新的页脚日期
内置解决方案(无需额外脚本)
不需要借助外部脚本修改YAML,Quarto本身提供两种内置方式实现需求:
方法1:利用YAML代码插值生成当日日期
Quarto支持在YAML中嵌入R或Python代码片段,执行后动态生成内容:
- 若使用R环境,配置如下:
--- format: revealjs: footer: "Footer text | Last updated: `r Sys.Date()`" ---
- 若使用Python环境,配置如下:
--- format: revealjs: footer: "Footer text | Last updated: `python datetime.date.today().strftime('%Y-%m-%d')`" ---
渲染时Quarto会自动执行代码,将代码块替换为当日的YYYY-MM-DD格式日期。
方法2:基于文件最后修改日期生成
如果需要显示文件最后修改时间而非渲染当日日期,可以通过自定义模板实现:
- 在YAML中启用
last-modified元数据,并指定自定义模板:
--- last-modified: true format: revealjs: template: custom-footer.html ---
- 创建
custom-footer.html模板文件,在页脚区域引用last_modified变量:
{% block footer %} Footer text | Last updated: {{ last_modified | date(format="%Y-%m-%d") }} {% endblock %}
为什么之前的尝试失败?
你之前用的{date}、{{< date >}}、{{< last-modified >}}这类短代码,仅支持在文档正文区域使用,不能直接在YAML配置中生效,所以会出现未渲染或报错的情况。
内容的提问来源于stack exchange,提问作者TarJae
相关产品推荐
相关产品推荐

