如何列出 Hugo 中某个部分的所有页面

Den*_*que 4 loops hugo

我正在尝试列出首页上某个部分的页面。这应该不会太难;例如,具有以下层次结构(名称通用):

/content/
        |_ test-page.md
        |_ /section-name/
                        |_ page1.md
                        |_ page2.md
Run Code Online (Sandbox Code Playgroud)

使用以下循环:

{{ range .Pages }}
   ...
{{ end }}
Run Code Online (Sandbox Code Playgroud)

/section-name/给出as的列表页"section-names"

好吧,我在网上寻找其他解决方案。例如:

{{ range first 5 (where .Data.Pages "Section" "in" (slice "section-name")) }}
Run Code Online (Sandbox Code Playgroud)

但这仍然返回"section-names"

好的,文档中有 where 子句和分组的示例。例如,{{ range (.Pages.GroupBy "Section").Reverse }}。让我们尝试一个类似的概念:

{{ range (.Pages.GroupBy "Section") }}
   {{ .Key }}

   {{ range .Pages }}

      {{ .Title }}

   {{ end }}
{{ end }}
Run Code Online (Sandbox Code Playgroud)

这似乎会打印每个键,然后打印该键下的每一页。然而,它打印的section-name Section-names不是我所希望的,section-name page1 page2.

什么?

另外,使用像 这样的简单循环{{ range .Pages }},为什么test在创建节文件夹后不会立即出现?我不明白 Hugo 似乎固执地只给我看章节页面。

Den*_*que 5

这有效:

{{ range (where .Site.Pages "Section" "programming") }}
   {{ range .Pages }}
      {{ .Title }}
   {{ end }}
{{ end }}
Run Code Online (Sandbox Code Playgroud)