hugo - 如何列出当前部分中的页面

标签 hugo

我正在尝试列出当前 url 部分中的页面。

  • 获取所有部分
  • 将范围限制为当前部分
  • 列出当前版块中的页面

  • {{ range $value := .Site.Sections }}
    
        {{ range .Section }}
    
            {{ range $value.Pages }}
                <ul>
                    <li>{{ .Title }}</li>
                </ul>
            {{ end }}
    
        {{ end }}
    
    {{ end }}
    

    虽然它返回 null 因为 {{ range .Section }}不是有效代码。

    这样做的正确方法是什么?

    https://gohugo.io/templates/variables/

    最佳答案

    您需要过滤.Site.Pages按部分使用 where function .尝试这个:

    <ul>
    {{ range where .Site.Pages "Section" .Section }}
      <li>{{ .Title }}</li>
    {{ end }}
    </ul>
    

    如果要避免空列表,可以将部分页面的切片存储在变量中并在输出 ul 标签之前检查其长度。
    {{ $sectionPages := where .Site.Pages "Section" .Section }}
    {{ if ge (len $sectionPages) 1 }}
      <ul>
        {{ range $sectionPages }}
          <li>{{ .Title }}</li>
        {{ end }}
      </ul>
    {{ end }}
    

    关于hugo - 如何列出当前部分中的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42868110/

    相关文章:

    web - 在 Hugo 主题上创建嵌套菜单?

    将 `.Rmd` 帖子渲染为 blogdown 中的幻灯片

    javascript - 将从 API 获取的数据插入静态网站上的表中

    r - 关于 LaTeX 的 Pandoc 规则未在 R blogdown 雨果主题上遵循

    subdomain - HUGO + GitHub 页面 : How to set up subdomain

    hugo - 如何使用 Hugo 在 markdown 中制作主页/登录页面?

    yaml - Hugo Markdown 元数据

    javascript - 如何在 Hugo 中包含简单的 JavaScript

    hugo - 如何更改 Hugo 的帖子图片

    hugo - 如何为 Hugo 中的“关于”页面设置不同的 frontmatter?