0

假设我有以下结构

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每次访问 URL 时都会调用的文件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.mdexample.com/blog-folder-1/

任何帮助将不胜感激<3

4

1 回答 1

1

在这一点上,文档有点难以订购。我会将重要主题链接到 hugo 文档,以便您能够阅读更多详细信息。查看您的内容组织后,有两个部分

  • 博客文件夹 1
  • 博客文件夹 2

因此,在您的主题中,您可以为每个部分定义一个模板。如果没有提供模板,hugo 使用默认值。

所以在你的布局文件夹中有这样的逻辑:/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 }}
于 2017-02-21T10:42:12.557 回答