Templates 如何在Hugo中按文件路径排序内容?
我正在尝试根据文件路径订购内容。我希望文件路径优先于链接标题。我正在创建一个包含教程的文档站点,教程将包含按顺序排列的内容。我希望文件结构与教程的顺序相匹配(例如01_getting_start.md、2_setup.md等)。我更喜欢依赖文件路径命名,而不是两次定义序列信息(在文件路径和权重方面) 更新:有一个更简洁的解决方案:Templates 如何在Hugo中按文件路径排序内容?,templates,hugo,static-site,Templates,Hugo,Static Site,我正在尝试根据文件路径订购内容。我希望文件路径优先于链接标题。我正在创建一个包含教程的文档站点,教程将包含按顺序排列的内容。我希望文件结构与教程的顺序相匹配(例如01_getting_start.md、2_setup.md等)。我更喜欢依赖文件路径命名,而不是两次定义序列信息(在文件路径和权重方面) 更新:有一个更简洁的解决方案: {{ range sort site.RegularPages "File.Path" }} {{ . }} {{ end }} 鉴于以下内容: conten
{{ range sort site.RegularPages "File.Path" }}
{{ . }}
{{ end }}
鉴于以下内容:
content/
├── 01_getting_started.md
├── 02_setup.md
└── 03_configuration.md
然后此模板代码:
{{ $pages := slice }}
{{ range site.RegularPages }}
{{ $pages = $pages | append (dict "page" . "file_path" .File.Path) }}
{{ end }}
{{ range sort $pages "file_path" }}
{{ .page }}
{{ end }}
将按文件路径顺序输出页面:
Page(/01_getting_started.md)
Page(/02_setup.md)
Page(/03_configuration.md)
它通过创建一个空切片(也称为数组)来工作。它循环遍历所有页面,将页面对象的字典(也称为映射)及其文件路径附加到切片。然后,切片按文件路径升序排序,并循环通过
然后,您可以像对待通常的
一样对待.page
。因此.page.Title
将等同于.Title
更新:有一个更简洁的解决方案:
{{ range sort site.RegularPages "File.Path" }}
{{ . }}
{{ end }}
鉴于以下内容:
content/
├── 01_getting_started.md
├── 02_setup.md
└── 03_configuration.md
然后此模板代码:
{{ $pages := slice }}
{{ range site.RegularPages }}
{{ $pages = $pages | append (dict "page" . "file_path" .File.Path) }}
{{ end }}
{{ range sort $pages "file_path" }}
{{ .page }}
{{ end }}
将按文件路径顺序输出页面:
Page(/01_getting_started.md)
Page(/02_setup.md)
Page(/03_configuration.md)
它通过创建一个空切片(也称为数组)来工作。它循环遍历所有页面,将页面对象的字典(也称为映射)及其文件路径附加到切片。然后,切片按文件路径升序排序,并循环通过
然后,您可以像对待通常的
一样对待.page
。因此.page.Title
将等同于.Title