finec-mgimo / finec-mgimo.github.io

Финэк МГИМО - программы бакалавриата и магистратуры по экономике, менеджменту, туризму и бизнес-информатике в кампусе МГИМО-Одинцово.
https://finec.mgimo.ru
MIT License
1 stars 8 forks source link

[Таблетка для памяти] Ссылки на картинки на разных страницах сайта #52

Closed necelentano closed 3 years ago

necelentano commented 3 years ago

Issue таблетка для памяти.

Не очевидная работа с путями к картинкам при размещении сайта в подкаталоге домена (https://epogrebnyak.github.io/finec-mgimo-v2/) и при использовании двуязычной версии.

  1. Пути работают корректно если картинку поместить в папку страницы или поста – в md разметке страницы или поста картинка вставляется как ![Логотип](front_dash.png).
  2. Пути работают корректно если записать в config/_default/config.toml переменную (пример [params] logofinec = "/finec-mgimo-footer.png"). В этой переменной сохраняем название картинки, которая размещается в папке static. Использование картинки в разметке: <img src="{{.Site.BaseURL}}{{ .Site.Params.logofinec }}" class="rounded" alt="логотип ФИНЭК">. Здесь в src указываем переменную .Site.Params.logofinec. Такой способ позволяет размещать картинку в папке static и сама картинка будет корректно отображаться на всех страницах, на всех языковых версиях RU и EN. Удобно для оформления страниц, но никто вроде нас не ограничивает использовать такой способ только для этих целей. Минус это множество переменных с картинками в конфиг файле.
  3. В Hugo есть встроенные инструменты для работы с путями: absURL, relURL, relLangURL. Они корректно работают на уровне html разметки (partials и shortcodes), но не работают на уровне Markdown документа. Вариант решения это переписать shortcode для figure, либо написать свой собственный shortcode, который бы брал картинки из static.
  4. В config.toml указать флаг canonifyURLs как true (по умолчанию стоит false). В таком случае shortcode figure корректно подхватывает baseURL. Есть советы использовать canonifyURLs = true как раз при размещении на Github Pages. Но canonifyURLs = true в нашем случае ломает сайт. Так как из ссылок в левом меню убирается подкаталог (суб-директория) /finec-mgimo-v2/.

Можно также добавить полезные ссылки с перепиской где обсуждались проблемы и пути их решения.