【问题标题】:Read site configuration from a Hugo partial从 Hugo 部分读取站点配置
【发布时间】:2021-11-30 04:00:48
【问题描述】:

我想将地图添加到我博客的主页。它需要接受一些参数。我正在努力弄清楚如何正确配置它。我通过对设置进行硬编码来实现它,但这并不适合与他人分享我的解决方案。

我的问题是我将其实现为部分:{{ partial "map.html" (where site.RegularPages "Type" "in" site.Params.mainSections) }}

据我了解I cannot access the .Site.Params variable in a partial。我也一直在考虑使用简码,但这似乎也不是正确的选择,因为简码只能用于内容,不能用于模板。我也不想直接将它添加到模板的index.html 中,因为它独立于主题。

实现这一目标的正确方法是什么?

【问题讨论】:

    标签: hugo


    【解决方案1】:

    .Site.Params == site.Params

    参见文档:https://gohugo.io/functions/site/#readout

    这应该可以解决直接问题。否则:Smitop 的解决方案。

    (即“站点”可以全局访问)

    【讨论】:

      【解决方案2】:

      您可以使用. 将当前上下文传递给部分:

      {{ partial "header.html" . }}
      

      然后,您可以像从调用者一样从部分内部访问上下文:

      This site is called {{ .Site.Title }}.
      

      Hugo 不直接支持将多个参数传递给部分。如果你想传递除了上下文之外的东西,你可以传递一个包含所有值的字典:

      {{ partial "header.html" (dict "Ctx" . "Percent" "84") }}
      

      然后从偏内:

      This site is called {{ .Ctx.Site.Title }}, and is {{ .Percent }}% awesome!
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-05-25
        • 1970-01-01
        • 2016-10-29
        • 1970-01-01
        • 2016-01-11
        • 2021-01-24
        • 2010-12-24
        相关资源
        最近更新 更多