我需要构建一个由一些静态页眉材料、静态页脚材料和用户管理内容的几个部分组成的部分页面。这个用户管理的内容是零碎的,因此不应该有永久链接。
我认为一个很好的方法可能是使用无头页面。
这样做的话,这些片段必须有一个带有index.md
的目录,并且应该可以使用.Site.GetPage
运算符进行访问。
我正在努力弄清楚如何使用.Site.GetPage
来获得要迭代的页面列表。将有2..n个用户节,如果内容模块的数量发生变化,我不想重新生成节的模板。
我假设使用.Site.GetPage
查询多个页面有一些魔力,或者有一个完全不同的运算符。
或者我完全误解了如何使用无头页面。
这是我的部分模板(../layouts/the-range/section.html
(:
{{ define "main" }}
<div id="page-wrapper">
<div class="halfhero" id="map"></div>
</div>
{{ $sections := .Site.GetPage "/the-range/*" }}
<!-- leaf content at .../content/the-range/*/*.md -->
{{ range $sections }}
<section class="range-section">
<div class="section-content">
{{.Content}}
</div>
<img src="{{.Site.BaseURL}}{{.Params.images}}">
</section>
{{ end }}
{{ end }}
无头内容只是作为叶束的一系列标记文件。
通过Hugo社区https://discourse.gohugo.io/t/using-headless-pages-in-section-lists-in-hugo/15275/2
给定这样的结构:
content/headless/
├── index.md # headless = true in front matter
├── five.md
├── four
│ └── index.md
├── one
│ └── index.md
├── three
│ └── index.md
└── two
└── index.md
你可以做:
{{ $headlessbundle := .Site.GetPage "/headless" }}
{{ range ( $headlessbundle.Resources.ByType "page" ) }} <br>
{{.}}
{{ end }}
哪个应该输出:
Page(/headless/five.md)
Page(/headless/four/index.md)
Page(/headless/three/index.md)
Page(/headless/two/index.md)
Page(/headless/one/index.md)