Связывание страниц в Hugo/markdown
Я новичок в генераторе статических сайтов HUGO (http://gohugo.io/). Я использую сервер Hugo, локально доступный как localhost: 1313. Я пытаюсь связать страницы в двух разных разделах. Моему файлу "feature.md
" нужна ссылка на "grid_modules.md
" и наоборот. Ниже приведена структура каталогов для обоих файлов на сгенерированном Hugo сайте.
~/mysite/content/about/feature.md
~/mysite/content/modules/grid_modules.md
Каков наилучший способ связать обе страницы вместе? Я пытаюсь сделать следующее:
В feature.md
:
"[grid_modules] (../modules/grid_modules)
"
Если я пытаюсь получить доступ к этой ссылке, я получаю сообщение об ошибке в "localhost:1313/about/modules/grid_modules
", которое, как я знаю, является неправильным.
Чего мне не хватает в ссылках? Почему я не получаю "localhost:1313/modules/grid_modules
" вместо этого.
Ответы
Ответ 1
Этот ответ основан на ответе при условии
bep. Этот ответ правильный, но не очень ясный (поскольку я много раз читал его, пробуя разные вещи, прежде чем нашел решение).
Как указано ранее:
URL-адрес страницы зависит от конфигурации вашего URL-адреса (либо через https://gohugo.io/extras/permalinks/, либо прямо в качестве URL-адреса на отдельной странице).
Вы можете использовать теги ref
и relref
в вашей уценке, чтобы ссылка соответствовала правильному URL.
Для вашего примера это будет выглядеть следующим образом (в зависимости от того, хотите ли вы абсолютный или относительный URL):
[grid_modules] ( {{< relref "modules/grid_modules" >}})
[grid_modules] ( {{< ref "modules/grid_modules" >}})
Ответ 2
Какой URL-адрес страницы зависит от вашей конфигурации URL-адреса (либо в https://gohugo.io/extras/permalinks/, либо непосредственно задан как URL
на индивидуальная страница).
И это часто не совпадает с путём в файловой системе.
У Hugo есть вспомогательные функции, которые помогут вам, см. ref
и relref
в этом документе:
https://gohugo.io/extras/crossreferences/
Ответ 3
Я столкнулся с этой же проблемой и нашел следующее более простое решение для работы. Когда URL-адрес указывается в форме [text](/url/path)
со страницы под контентом /, корень/url/пути фактически является контентом/(или общедоступным/на отображаемом сайте). Таким образом, чтобы ссылаться на "~/mysite/content/modules/grid_modules.md" из "~/mysite/content/about/feature.md", вы можете просто написать в "feature.md"
[grid_modules] (/modules/grid_modules)