我正在尝试列出首页上某个部分的页面。这应该不会太难;例如,具有以下层次结构(名称通用):
/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 似乎固执地只给我看章节页面。
这有效:
{{ range (where .Site.Pages "Section" "programming") }}
{{ range .Pages }}
{{ .Title }}
{{ end }}
{{ end }}
Run Code Online (Sandbox Code Playgroud)