如何将permalink和变量全局添加到指定目录中的Jekyll页面

如何将permalink和变量全局添加到指定目录中的Jekyll页面,jekyll,github-pages,Jekyll,Github Pages,我正在建立一个支持多种语言的网站 在根目录中,我有一个或多个基于语言区域设置的目录,例如:/en/it 我正试图将一种语言设置为默认语言,并通过如下所述在_config.yml中设置defaults部分,让Jekyll在\u站点目录的根目录中生成其页面。其他目录将照常生成 我不想: 使用插件,因为它还必须与GitHub页面一起工作 在每个页面的首页设置一个lang:en变量,但如果可能,可以在_config.yml中全局设置它 在根目录中放入一堆文件/目录,只是各种en、it、fr等(如果没有

我正在建立一个支持多种语言的网站

在根目录中,我有一个或多个基于语言区域设置的目录,例如:/en/it

我正试图将一种语言设置为默认语言,并通过如下所述在_config.yml中设置defaults部分,让Jekyll在
\u站点
目录的根目录中生成其页面。其他目录将照常生成

我不想:

  • 使用插件,因为它还必须与GitHub页面一起工作
  • 在每个页面的首页设置一个
    lang:en
    变量,但如果可能,可以在_config.yml中全局设置它
  • 在根目录中放入一堆文件/目录,只是各种en、it、fr等(如果没有下面描述的内容,而是使用master
    pages
    目录)
我尝试了各种解决方案,包括:

  • 使用集合:它与下面的示例一样有效,但我不想出于各种原因使用它们,比如没有使用sitemap插件
  • 使用,但它不适用于具有相同名称的多个页面和其他类型的文档
这适用于根目录中具有
\u en
目录的集合:

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

defaults:
  ...
  - scope:
      path: ""
      type: "en"
    values:
      layout: "default"
      lang: "en"
      permalink: /:path
不是这样,IMHO,因为它应该用于页面:

defaults:
  ...
  - scope:
      path: "en"
      type: "pages"
    values:
      layout: "default"
      lang: "en"
      permalink: /:path
简言之,我需要:

  • 为指定目录中的每个页面全局设置自定义变量,而不是在每个页面的首页设置自定义变量
  • 使用全局永久链接,使Jekyll从指定目录生成所有页面,以在_站点根目录中生成