2017-10-09 122 views
0

变量作用域在Hugo中为不同的页面工作?变量作用域在Hugo中为不同的页面工作?

我可以将此代码添加到themes\[theme name]/layouts/_default/list.html让我主页上的文章标题的列表:

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

但是在content/archive.md一个独立的页面相同的代码产生什么。如何获得独立页面以列出/post文件夹中的条目?

回答

2

.Data对象的作用域为其在内部调用的内容类型。要访问不同类型的内容,请使用可访问.Pages对象的.Site对象。该对象包含所有内容类型的所有页面。只需使用where功能筛选您想要的内容类型,即where .Site.Pages "Type" "post"

所以,你的代码就变成了:

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

相关问题