Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 如何在Hugo中按文件路径排序内容?_Templates_Hugo_Static Site - Fatal编程技术网

Templates 如何在Hugo中按文件路径排序内容?

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

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

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

{{ 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