Как добавить постоянную ссылку и переменные глобально на страницы Jekyll в указанном каталоге - PullRequest
0 голосов
/ 11 июня 2019

Я настраиваю веб-сайт с поддержкой нескольких языков.

В корневом каталоге у меня есть один или несколько каталогов на основе языкового стандарта, например: / en / it

Iя пытаюсь установить один язык по умолчанию и позволить Jekyll генерировать свои страницы в корне каталога _site, установив раздел по умолчанию в _config.yml, как описано ниже.Другие каталоги будут сгенерированы как обычно.

Я не хочу:

  • использовать плагин, поскольку он должен работать также со страницами GitHub
  • для установкиlang: en переменная в каждой странице, но, если это возможно, ее глобальная установка в _config.yml.
  • помещает загрузку файлов / каталогов в корневой каталог, только различные en, ​​it, fr и т. д. (если у вас нет чего-то подобного описанному ниже, но используется главный каталог pages).

Я пробовал различные решения, в том числе:

  • с использованием коллекций: он работает должным образомс приведенным ниже примером, но я не хочу использовать их по разным причинам, например, если у вас нет плагина sitemap, работающего с ними
  • , использующего это решение , но он не работает с несколькими страницамис тем же именем и другими типами документов

Это работает с коллекциями с каталогом _en в корне:

collections:
  en:
    output: true
    permalink: /:path

defaults:
  ...
  - scope:
      path: ""
      type: "en"
    values:
      layout: "default"
      lang: "en"
      permalink: /:path

Не это, ИМХО, как это должно быть для страниц:

defaults:
  ...
  - scope:
      path: "en"
      type: "pages"
    values:
      layout: "default"
      lang: "en"
      permalink: /:path

Короче янужно:

  • настраивать пользовательские переменные глобально для каждой страницы в указанном каталоге, вместо этого в каждой странице
  • заставить Jekyll генерировать все страницы из указанного каталога для создания в корне_site каталог, используя глобальную постоянную ссылку
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...