cyberflow_gravatar

Cyberflow

I am linux system administrator.


Navigation
» Home
» Categories
» Code
» XML Feed

testing jekyll language plugins

13 Dec 2017 » jekyll

Решил потестировать мультиязычный плагин для jekyll. На просторах сети нашел приличное количество оных, но для первой пробы решил выбрать jekyll-language-plugin.

Установка плагина подробно описана на wiki проекта.

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

Дальнейшее исследование привело меня к jekyll-multiple-languages-plugin. Тут уже в документации описано, что статьи или страницы можно хранить в .md файлах в специпльных “языковых” директориях и импортировать их при помощи % include file %.

Этот вариант понравился мне больше.

Правда радость была не долгой. Плагин отказался работать “из коробки”. Ошибка в коде, отвечающем за определение статики сайта. В итоге при попытке сбилдить сайт получал jekyll 3.6.2 | Error: can't dup NilClass. Добрае люди уже поправили ошибку и сделали PR в github, но разработчики не торопяться его принимать. Печалька, но можно поправить руками.

После патчинга модуля сборка заработала. Создать переводимую страницу (page в терминах jekyll) получилось без особых проблем. Однако для моего блога перевод статей, а точнее его текущее отсутсвие, привело к тому, что после сборки все статьи не сгенерились. После исключения из обработки директории с постами, при помощью директивы exclude_from_localizations в _config.yml удалось собрать сайт с переведенной страницей и не переведенными постами.

Пример двухязычной страницы можно посмотреть тут.