Хьюго - несколько разделов сайта со своими локальными таксономиями?

Я создаю веб-сайт с разделом «блог» и разделом «руководство», например:

mywebsite.com/blog/

mywebsite.com/guide/

И блог, и руководство содержат несколько собственных сообщений. Я хотел бы добавить независимые теги (таксономии) и в блог, и в руководство, чтобы я мог перечислять сообщения по определенным тегам, например:

mywebsite.com/blog/tags/some_blog_tag

mywebsite.com/guide/tags/some_guide_tag

Какой должна быть папка моего проекта и файловая структура - как папка содержимого, так и папка макетов - для реализации этого? Похоже, Hugo построен на идее, что таксономия должна быть глобальной для всего сайта. Однако в Hugo также есть «пакеты страниц». Может ли Hugo определять локальные таксономии внутри пакетов страниц? Я нахожу документы очень запутанными по этой теме.

Кроме того, что нужно добавить в файл config.json для создания таких локальных таксономий раздела?

Я пробовал использовать следующую структуру папок, но получаю сообщение «Страница не найдена» при доступе к mywebsite.com/blog/tags/some_blog_tag или mywebsite.com/guide/tags/some_guide_tag

      - content
  - blog
      _index.md
      blog_content1.md
      blog_content2.md
      blog_content3.md
  - guide
      _index.md
      guide_content1.md
      guide_content2.md
      guide_content3.md
- layouts
  - blog
      list.html
      taxonomy.html
  - guide
      list.html
      taxonomy.html

1 ответ

Один из способов добиться этого — использовать многоязычный сайт с тремя языками:

  • один названный язык (по умолчанию)
  • один язык по имениblog
  • последний по имениguide

и добавляем параметрdefaultContentLanguageInSubdir: false

Таким образом, вы можете разместить все страницы, не относящиеся к блогам и руководствам, вenязык, и каждая страница блога/руководства будет иметь свою собственную таксономию по мере необходимости.

См. документацию для получения дополнительной информации https://gohugo.io/content-management/multilingual/

Другие вопросы по тегам