我需要构建一个节页面,该节页面由一些静态的页眉材料,静态的页脚材料以及用户管理内容的多个部分组成。该用户管理的内容是零碎的,因此不应具有永久链接。
我认为实现此目标的一种好方法可能是使用headless pages。
似乎要这样做,这些片段必须具有一个带有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 }}
无头内容只是一系列降价文件,例如叶包。
答案 0 :(得分:0)
通过位于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)