Многоязычный Jekyll

Возможно ли иметь многоязычный веб-сайт jekyll без необходимости поддерживать отдельные файлы _post?

Я знаю, что его можно достичь с помощью _posts/2014-02-27-post.md и _posts/pt/2014-02-27-post.md.

Что делать, если у меня может быть только один почтовый файл, который определяет другое содержимое на лицевой стороне YAML? Насколько я вижу, у меня должно быть несколько постоянных ссылок на один и тот же файл. Или, чтобы иметь пустой _posts/pt/2014-02-27-post.md, который сливается с его родителем.

Любые предложения?

Ответы

Ответ 1

К сожалению, Jekyll требует один файл за сообщение и строго читает имя файла (yyyy-mm-dd-post-name), чтобы извлечь дату и идентификатор сообщения. Вы не сможете поддерживать два сообщения в одном файле без сильного воздействия на движок Jekyll или с помощью javascript (вы не должны).

Но вы можете свободно организовать свои _posts и файлы: вы можете читать Многоязычный сайт с Jekyll Я написал несколько недель назад.

Ответ 2

Определите SelectVariable в _config.yml глобально или локально в YAML Header. Теперь используйте это значение переменной, как в предложении select-case, для выбора содержимого, которое нужно вставить в сообщение из нескольких вариантов. Каждый выбор контента можно вставить с помощью contentblocks плагина.

Это поможет в достижении того же почтового кода, но генерирует несколько выходных данных на разных серверах с щелчком конфигурации. Так что скажем, когда SelectVariable == 1 будет использоваться contentblock # 1. Легко, частично, но эффективно.

Ответ 3

Как и @Sylvain, вы не сможете поддерживать многоязычные однофайловые сообщения, но на нескольких пост-фронтах вы также можете использовать этот плагин, чтобы упростить задачу: https://github.com/screeninteraction/jekyll-multiple-languages-plugin