Pull to refresh

Comments 15

Не всегда можно найти решение проблемы

Баг отношения к Hugo не имел, так что считаю не справедливым аргументом


Также Hugo по прежнему не предоставил стабильную версию и имеет право на нестабильные и ломающие обратную совместимость изменения. В альтернативу есть Gatsby (все тоже самое, но в стиле React), хотя он будет существенно медленнее, но зато стабильнее

Спасибо. Как раз изучаю инструментарий для фронтэнда.
Лет 5 назад собрал сайт нашей компании с портфолио на Hugo. Собрал свой дизайн шаблонов.
Плюс: очень нравится скорость компиляции — молниеносно.
Плюс: запустил и забыл.
Огромный минус: нереально неудобный шаблонизатор Go. Не интуитивный синтаксис. Если нужны какая-то обработка условий в шаблонах чуть сложнее, чем if/else… всееее такие костыли получаются… на шаблон страшно смотреть.
Минус: 3 года спустя надо было внести изменения, залез в код и пришлось очень долго вспоминать что и как и лезть в доки Hugo.
Вижу на сайте что у них есть поддережка i13n. Можете расписать этот момент?

К сожалению, совсем не силен в этом вопросе. Надеюсь, кто-нибудь другой из читателей Хабра прокомментирует по сути.

i18n наверное? Там всё просто.
Допустим, вы написали пост hello-world.en.md на английском. Добавляете файл hello-world.ru.md с тем же самым контентом, но на русском. С минимальным добавлением в конфиг Hugo генерит сайт для нескольких языков. Пример можно посмотреть на rojkov.github.io
i18n

да, пардон за муа французский
А если языков больше чем 2 как это выглядит? Какой-нибудь выпадающий список с выбором можно скрафтить? Задать дефолтный язык для показа? Куски кода заembedидить из внешнего файла?

Да, дефолтный язык надо задать обязательно — он будет в корне сайта. Все остальные локализации требуют /path: русская будет в /ru/, например.

То, как выглядит список языков, определяется темой. Могу ошибаться, но вроде как material-тема показывает выпадающий список.

Когда я выбирал тему, не все темы поддерживали мультиязычность.

Вот, можете глянуть на мой пример использования на реальном сайте. Там и выбор языка со списком, можно и больше двух добавить, но пока не надо было https://github.com/DKorchuganov/classicaplus-hugo

У нас все очень хорошо получилось с Hakyll :) Осторожно, сайт NFSW! p0n4ik.tk

Использую hugo в своём pet-проекте. md-файлы собираются через Python 3, потом дёргается Hugo, собирает сайт, и всё это дело затем заливается на Github для отображения через Github pages. Итого полная автоматизация.
Удобная штука, согласен.

А вы до сих пор используете Hugo? Почему именно его выбрали, а не Jekyll или Gatsby, например?

Да, использую до сих пор. Хотя пришлось жестко зафиксировать используемую версию, чтобы не заниматься обновлениями кода вслед за версиями Hugo. Если решусь на серьезное обновление макетов/дизайна блога, не исключаю, что, возможно, буду рассматривать альтернативы. Например, подумываю сделать блог без ката на главной странице (как в Эгее), но так и не сумел настроить это в Hugo.


Выбрал его из популярных альтернатив по следующим причинам:


  • Сам генератор представляет собой единственный ".exe" файл, которые не требует установленного в системе рантайма/интрепретатора или зависимостей. Так как программирую на Python, то рассматривал Pelican, но все равно опция голого exe ,skf предпочтительнее.
  • Скорость. Сам тестов не проводил (так как не было своей тестовой базы), но не хотелось закладывать возможную мину замедленного действия на будущее.

Нет русскоязычных тем, социальные кнопки адаптированы под зарубежные сети, темы ориентированы на использование только комментариев Disqus и так далее. Пришлось самостоятельно переписать системные надписи на русский и поставить комплекты социальных кнопок с сетями, популярными у русскоязычной аудитории.

Я взял тему "mainroad". У нее есть каталог i18n в котором переводы на 19 языков. Правда пришлось поразбираться как это дело подключить. В config.toml прописываются параметры

languageCode = "ru-ru"
defaultContentLanguage = "ru"
defaultContentLanguageInSubdir = true

и после этого весь интерфейс сайта переводится на русский. Типа "read more" -> "читать далее" ну и т.д. В самом hugo.exe есть ключик которым можно проанализировать какие термины не имеют перевода в i18n и видимо можно самому добавить.

В теме "mainroad" есть возможность сделать собственную кнопку (кнопки) нужных соцсетей. Искаропки там да, одни буржуйские :)

Проблема с документацией. Ее много, но она написана не для конечных пользователей а для разработчиков тем, для конечного пользователя там сложно найти нужное. Источников на русском крайне мало, и они только про "как начать".

Словил какой-то глюк - в конфиг вкрался какой-то непечатный символ, который не ломал всю работу и не вызывал ругани, но тем не менее отламывал некоторые функции. Удалось победить только взяв конфиг из примера и начал добавлять в него мои строки. Свой конфиг сколько ни подгонял под нужные параметры, сличая мой конфиг и sample построчно - полноценно так и не завелось. Опасаюсь что аналогичная фигня может проявиться в дальнейшем и непонятно как это диагностировать.

Sign up to leave a comment.

Articles