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

如何在Hugo模板中使用site变量访问动态属性

问题原因

Hugo 基于 Go HTML 模板引擎实现渲染,原生不支持 [键名] 语法直接获取映射(Map)类型的动态属性值,因此你使用的 {{.Site.Data.authors[name]}} 写法会报错或返回空值。

正确实现方法

使用 Hugo 内置的 index 函数即可动态读取指定键的内容:

  • 若要获取固定 ID john_doe 的作者信息,写法如下:
{{ index .Site.Data.authors "john_doe" }}
  • 若作者 ID 存储在变量/当前上下文属性中,写法示例:
<!-- 作者ID存在自定义变量$name中 -->
{{ index .Site.Data.authors $name }}
<!-- 作者ID存在当前页面的Params参数中 -->
{{ index .Site.Data.authors .Params.author }}

你也可以把读取到的作者信息赋值给变量后,再访问内部字段,示例如下:

{{ $author := index .Site.Data.authors "john_doe" }}
<p>作者名:{{ $author.name }}</p>
<p>GitHub 主页:https://github.com/{{ $author.github }}</p>
<p>作者简介:{{ $author.description }}</p>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:36:03