首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在雨果中按FilePath排序内容?

如何在雨果中按FilePath排序内容?
EN

Stack Overflow用户
提问于 2019-05-30 20:08:27
回答 1查看 530关注 0票数 1

我正在尝试根据FilePath对内容进行排序。我希望FilePath优先于链接标题。我正在创建一个带有教程的文档站点,这些教程将包含有序的内容。我希望文件结构与教程的顺序相匹配(例如01_getting_started.md、2_setup.md等)。我更喜欢依赖文件路径命名,而不是定义两次序列信息(在文件路径和权重前面)。

https://gohugo.io/templates/lists/#order-content

EN

回答 1

Stack Overflow用户

发布于 2019-05-31 01:38:22

更新: @Jura有一个更简洁的解决方案:

代码语言:javascript
复制
{{ range sort site.RegularPages "File.Path" }}
  {{ . }}
{{ end }}

给定以下内容:

代码语言:javascript
复制
content/
├── 01_getting_started.md
├── 02_setup.md
└── 03_configuration.md

然后这个模板代码:

代码语言:javascript
复制
{{ $pages := slice }}

{{ range site.RegularPages }}
  {{ $pages = $pages | append (dict "page" . "file_path" .File.Path) }}
{{ end }}

{{ range sort $pages "file_path" }}
  {{ .page }}
{{ end }}

将输出按文件路径排序的页面:

代码语言:javascript
复制
  Page(/01_getting_started.md)

  Page(/02_setup.md)

  Page(/03_configuration.md)

它的工作原理是创建一个空的切片(也称为数组)。它遍历所有页面,将页面对象的字典(也称为映射)及其文件路径附加到切片。然后,按文件路径以升序对切片进行排序,并循环遍历。

然后,您可以像对待通常的.一样对待.page。因此,.page.Title等同于.Title

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56378051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档