让我们说我有以下结构
content
- blog-folder-1
-- blog-article-1-1.md
-- blog-article-1-2.md
- blog-folder-2
-- blog-article-2-1.md
-- blog-article-2-2.md
然后我还有layouts/_default/list.html
文件,每次访问网址example.com/
,example.com/blog-topic-1/
和example.com/blod-topic-2/
所以我遇到的问题是我不希望layouts/_default/list.html
文件为这些不同的路径生成相同的内容。
我通过将++ displayHomepage = "true" ++
添加到.md文件并{{ range $index, $page := first 50 (where .Site.Pages.ByPublishDate ".Params.displayHomepage" "true") }}
添加到list.html
文件,克服了仅在主页中显示某些文章的问题,但我无法理解如果我不想在访问blog-article-2-1.md
example.com/blog-folder-1/
该怎么办
非常感谢任何帮助< 3
答案 0 :(得分:1)
此时文档有点难以订购。我将把重要主题链接到hugo文档,以便您能够阅读更多详细信息。在查看Content Organisation之后,有两个Sections:
因此,在您的主题中,您可以define one template for each section。如果没有提供模板,则hugo使用默认值。
因此,在layouts文件夹中有一个逻辑:/layouts/SECTION/LAYOUT.html
对于您的情况,您可以定义默认布局。例如,当blog-folder-2需要另一个模板时,您的结构将如下所示:
layouts/
▾ _default/
single.html
▾ blog-folder-2/
single.html
如果要过滤列表中的一个部分,则需要使用page variables。
在您浏览网站的那些点上,您可以添加where子句:
{{ range $i, $p := (.Paginate (where .Data.Pages "Section" "!=" "blog-folder-2")).Pages }}