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

Hugo中如何在partial内读取站点配置实现可复用独立地图模块

Hugo 独立地图模块的合理配置方案

字典传参是Hugo partial实现多参数传递的标准方案,你可以通过构造字典向partial打包传递所有所需变量的方式实现需求,既保证模块独立性,也无需硬编码配置,具体操作如下:

  • 第一步:修改partial调用代码,将你需要用到的所有变量打包为字典传入
    你当前仅传入了筛选后的页面集合,调整后调用代码示例:
    {{ partial "map.html" (dict 
      "targetPages" (where site.RegularPages "Type" "in" site.Params.mainSections)
      "siteParams" site.Params
    ) }}
    
    你可以根据模块需要,在字典中增加任意参数项,比如地图中心点坐标、缩放层级这类自定义配置都可以放在字典中传递,如果需要用到当前模板的根上下文其他属性,也可以额外添加"rootCtx" .项传入。
  • 第二步:在map.html partial中直接调用传入的参数即可
    比如要访问筛选后的页面就用.targetPages,要访问站点参数就用.siteParams即可。

该方案完全匹配你的需求:

  • 模块仍然是独立的partial,不需要写入主题的index.html核心模板,可单独抽离分享
  • 所有配置项都从调用侧传入,无需在partial内部硬编码,其他人使用你的模块时只需要按照参数规则传入对应值即可快速部署
  • 规避了partial作用域无法直接访问站点变量的问题,也不需要用到只能在内容文件调用的shortcode。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:54:02