在 hugo 中按类别列出所有页面
List all pages by categories in hugo
我在 hugo 中有结构:
content
├── 1.md
├── a
│ ├── 2.md
│ └── 3.md
└── b
└── 4.md
我想要的菜单列表如下:
- 1
- 一个
- 2
- 3
- b
- 4
我现在在用
<ul>
{{ range .Site.RegularPages }}
<li>
<a href="{{ .Permalink }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
这只给我:
- 1
- 2
- 3
- 4
最后格式化你还在使用的数据HTML,所以嵌套列表的规则仍然适用,例如:
<ul>
{{ range .OuterList }}
<li>
<a href="#">{{ .OuterListItem }}</a>
{{if gt (len .OuterListItem.InnerItems) 0}}
<ul>
{{ range .OuterListItem.InnerItems }}
<li> {{ .InnerItem }} </li>
{{ end }}
</ul>
{{ end }}
</li>
{{ end }}
</ul>
layouts/partials/walk.html
:
<ul>
{{ range .Pages.ByTitle }}
<li>
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ if .Pages }}
{{ partial "walk.html" . }}
{{ end }}
</li>
{{ end }}
</ul>
content/section/_index.md
:
---
title: Section Name
---
layouts/index.html
{{ partial "walk.html" }}
我在 hugo 中有结构:
content
├── 1.md
├── a
│ ├── 2.md
│ └── 3.md
└── b
└── 4.md
我想要的菜单列表如下:
- 1
- 一个
- 2
- 3
- b
- 4
我现在在用
<ul>
{{ range .Site.RegularPages }}
<li>
<a href="{{ .Permalink }}">{{ .Name }}</a>
</li>
{{ end }}
</ul>
这只给我:
- 1
- 2
- 3
- 4
最后格式化你还在使用的数据HTML,所以嵌套列表的规则仍然适用,例如:
<ul>
{{ range .OuterList }}
<li>
<a href="#">{{ .OuterListItem }}</a>
{{if gt (len .OuterListItem.InnerItems) 0}}
<ul>
{{ range .OuterListItem.InnerItems }}
<li> {{ .InnerItem }} </li>
{{ end }}
</ul>
{{ end }}
</li>
{{ end }}
</ul>
layouts/partials/walk.html
:
<ul>
{{ range .Pages.ByTitle }}
<li>
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ if .Pages }}
{{ partial "walk.html" . }}
{{ end }}
</li>
{{ end }}
</ul>
content/section/_index.md
:
---
title: Section Name
---
layouts/index.html
{{ partial "walk.html" }}