You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Lua过滤器以同时定位Quarto RevealJS的标题与一级标题幻灯片

解决Quarto RevealJS中标题幻灯片与一级标题幻灯片背景图片统一配置问题

问题原因

标题幻灯片在Quarto的抽象语法树(AST)中是带title-slide类的Div元素,而非Header元素,所以你之前仅在Header函数里判断classes:includes("title-slide")不会生效——因为Header元素本身没有这个类标识。

修正后的Lua过滤器

同时处理一级标题幻灯片(Header元素)和标题幻灯片(Div元素):

-- 处理一级标题幻灯片
function Header(el)
  if el.level == 1 then
    el.attributes["data-background-image"]    = "bg.png"
    el.attributes["data-background-position"] = "left"
    el.attributes["data-background-opacity"]  = "0.25"
    el.attributes["data-background-size"]     = "33%"
    return el
  end
end

-- 处理标题幻灯片
function Div(el)
  if el.classes:includes("title-slide") then
    el.attributes["data-background-image"]    = "bg.png"
    el.attributes["data-background-position"] = "left"
    el.attributes["data-background-opacity"]  = "0.25"
    el.attributes["data-background-size"]     = "33%"
    return el
  end
end

关键说明

  • 标题幻灯片对应的AST节点是Div,因此需要单独编写Div处理函数,判断其是否包含title-slide类。
  • 一级标题幻灯片对应level为1的Header元素,保留原有Header处理逻辑即可。
  • 这种配置方式能将所有背景属性集中在Lua过滤器中,完全适配组织模板的集中维护需求,无需在每个演示文稿的YAML头部单独配置。

内容的提问来源于stack exchange,提问作者kputschko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:12:38