变量范围如何在Hugo中用于不同的页面?

时间:2017-10-09 23:18:20

标签: hugo

变量范围如何在Hugo中用于不同的页面?

我可以将此代码添加到themes\[theme name]/layouts/_default/list.html,在我的主页上列出帖子标题:

<ul>
{{ range .Data.Pages.ByPublishDate }}
        <li>
            {{ .Title }}
        </li>
    {{ end }}
</ul>

然而,独立页面content/archive.md中的相同代码不会产生任何效果。如何获取独立页面以列出/post文件夹中的条目?

1 个答案:

答案 0 :(得分:2)

.Data对象的范围限定为在其中调用的内容类型。要访问不同类型的内容,请使用可以访问.Site对象的.Pages对象。该对象包含所有内容类型的所有页面。只需使用where函数where .Site.Pages "Type" "post"过滤所需的内容类型。

所以你的代码变成了:

<ul> {{ range (where .Site.Pages.ByPublishDate "Type" "post") }} <li> {{ .Title }} </li> {{ end }} </ul>