如何在指定目录内的Jekyll页面中全局添加永久链接和变量

时间:2019-06-11 16:38:56

标签: jekyll github-pages

我正在建立一个具有多语言支持的网站。

在根目录中,我有一个或多个基于语言环境的目录,例如:/ en / it

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

我不要:

  • 使用插件,因为它也必须与GitHub页面一起使用
  • 在每个页面的开头设置一个lang: en变量,但尽可能在_config.yml中全局设置它
  • 在根目录中放入文件/目录的负载,只是各种en,it,fr等(如果没有如下所述的内容,而是使用主pages目录)。

我尝试了各种解决方案,包括:

  • 使用集合:它可以与下面的示例配合使用,但由于各种原因,我不想使用它们,例如不让Sitemap插件与它们一起使用
  • 使用this solution,但不适用于具有相同名称和其他类型文档的多个页面

这适用于根目录为_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目录的根目录中

0 个答案:

没有答案