Ресурсы Хьюго Пэйджа - не могу найти соответствие - PullRequest
2 голосов
/ 26 октября 2019

Я хочу написать общий шорткод для моего веб-сайта на платформе 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

1 Ответ

2 голосов
/ 26 октября 2019

Я отказался от этого и закончил тем, что сделал вместо этого:

.
├── 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>
...