Как использовать тот же макет в другом каталоге?
У меня есть сайт, использующийhugo-coder
тема, которая имеет
layouts/posts
папка, которая указывает, что все в папке «posts» будет иметь формат сообщения в блоге.
Я хотел бы иметь два разных блога в двух разных подкаталогах, используя один и тот же макет. Есть ли способ сказать Хьюго, что
content/blog1
каталог должен использовать те же настройки и макет, что и
content/posts
каталог без копирования
themes/hugo-coder/layouts/posts
в
layouts/blog1
? В идеале я бы избегал использования символических ссылок, потому что, хотя это удобно, у меня было приличное количество программного обеспечения, выдающего странные ошибки при использовании символических ссылок, поэтому я избегаю их, когда это возможно.
2 ответа
Вы можете установить
layout
или же
type
поле в переднем плане вашего
_index.md
файл в
content/blog1
.
См. эту страницу документов для получения дополнительной информации.
Редактировать: В качестве альтернативы вы можете создать архетип для
blog1
который автоматически устанавливает значение
posts
в начале отдельных сообщений в этом разделе, если вы используете
hugo new blog1/postname.md
для создания сообщений для этого раздела.
Двойное редактирование: первое предложение не сработало. Вы также можете создавать подразделы внутри
content/posts/blog1
и установите постоянные ссылки сообщений в этом подразделе, чтобы использовать только последний раздел. Это должно устранить необходимость каждый раз явно задавать тип во фронтмастере сообщения, потому что у каждого сообщения уже будет тип сообщений.
В
config.toml
:
[permalinks]
posts = "/:sections[last]/:slug/"
Вы можете использовать партиал в своих шаблонах. Если вы это сделаете, вам ПОНАДОБИТСЯ файл single и list в каталоге layouts/blog, но это может быть и пустой файл, ссылающийся на partial. Макеты/posts/single.html и layouts/blog/single.html будут выглядеть следующим образом:
{{ partial "singleblog.html" . }}
Полностью СУХОЙ... и без особых сложностей.