Ресурсы Hugo Page - не удается найти совпадение
Я хочу написать общий шорткод для моего веб-сайта с поддержкой hugo, который добавляет на мои страницы раздел загрузки, в котором перечислены все файлы в папке загрузок.
У меня веб-сайт устроен так:
.
├── content
│ └── press
│ ├── downloads
│ │ ├── presstext.pdf
│ │ └── presskit.zip
│ ├── _index.de.md
│ └── _index.en.md
└── layouts
└── shortcodes
└── downloads.html
Мой файл уценки выглядит так:
---
title: "Downloads"
date: 2019-10-26T09:59:26+01:00
draft: true
resources:
- src: downloads/presskit.zip
title: Presskit
params:
icon: pdf
- src: downloads/presstext.pdf
title: Presstext
params:
icon: pdf
---
Look at my awesome downloads:
{{< downloads >}}
А мой шорткод выглядит так:
<ul class="downloads">
{{ range .Page.Resources.Match "downloads/*" }}
<li>
<a target="_blank" href="{{ .Permalink }}">
<i class="far fa-file-{{ .Params.icon }}"></i> {{ .Title }}
</a>
</li>
{{ end }}
</ul>
Но ни один документ не найден, поэтому {{ range .Resources.Match "downloads/*" }}
всегда возвращается пустым. Я что-то не замечаю?
Я уже пробовал:
{{ range .Resources.Match "downloads/*" }}
{{ range .Resources.Match "/downloads/*" }}
{{ range .Resources.Match "**.zip" }}
{{ range .Resources.Match "**.pdf" }}
{{ range .Resources.Match "press/downloads/*" }}
{{ range .Resources.Match "/press/downloads/*" }}
Запуск на Hugo 0.59.0
2 ответа
Хорошо, это старый, но правильный ответ заключается в том, что для пакетов веток (_index.md) вы можете иметь ресурсы ТОЛЬКО в одной папке.
Для пакетов листьев (index.md) вы можете иметь ресурсы в подпапках.
Я предполагаю, что это потому, что каждая подпапка в пакетах ветвей должна быть страницей с ресурсами (листовой пакет).
Вот исходник https://gohugo.io/content-management/page-bundles/ (см. строку таблицыWhere can the Resources live?
)
Я отказался от этого и вместо этого сделал следующее:
.
├── content
│ └── press
│ ├── presstext.pdf
│ ├── presskit.zip
│ ├── _index.de.md
│ └── _index.en.md
└── layouts
└── shortcodes
└── downloads.html
моя уценка:
---
title: "Downloads"
date: 2019-10-26T09:59:26+01:00
draft: true
resources:
- src: presskit.zip
title: Press kit
params:
icon: archive
download: true
- src: presstext.pdf
title: Press text
params:
icon: pdf
download: true
---
Look at my awesome downloads:
{{< downloads >}}
Короткий код:
<ul class="downloads">
{{ range .Page.Resources }}
{{ if isset .Params "download" }}
<li>
<a target="_blank" href="{{ .Permalink }}">
<i class="far fa-file-{{ .Params.icon }}"></i> {{ .Title }}
</a>
</li>
{{ end }}
{{ end }}
</ul>