包含子目录作为 Jekyll 的一部分 post URL
Include subdirectory as part of Jekyll's post URL
我正在用英语和西班牙语建立一个博客。我的目的是直接从基础 url: http://blog/
访问默认的西班牙语内容和 http://blog/en
的英语内容。
通过检查我在每个 post 前面设置的 locale
变量进行分页时,我已经拥有所有循环遍历 posts 的代码。虽然我的博客 post 没有相同的文件名,但我 link 他们在前面的内容中使用了另一个名为 ref
.
的变量
因此,对于 post A(西班牙语)和 post B(英语),我会有这样的内容:
2018-01-01-post-A.md
---
locale: en
ref: my-ref
---
foo
2019-01-04-post-B.md:
---
locale: es
ref: my-ref
---
bar
我的问题是:我应该把我的英语 post 放在哪里,以便可以通过 http://blog/en/post-name/
访问它们?
那些 post 除了他们的语言之外已经有了他们的类别,所以将它们放在 /en/_posts
中是行不通的,就像在 [=20= 中指定 permalink 一样] 到 permalink: /:categories/:year/:month/:title/
之类的东西会使 url 看起来像 http://blog/en/category-1/category-2/post-name
.
在每个英语 post 中定义一个 permalink 也不是一个选项,因为我希望它们是从 post 数据(日期和标题)生成的。
有没有我遗漏的东西可以让我使用 /en/
作为我想要的 URL 的一部分?
菜单语言选择器和分页都有效,仅以所选语言显示 posts。但是,当鼠标悬停在英文的 post 上时,虽然我将它们放在 _posts/en
中,但子文件夹并没有成为 url 的一部分。当我尝试相反的方法时,也会发生同样的情况,在项目根目录中创建一个名为 en
的新文件夹,并在其中添加所有英文 posts,给我留下类似 en/_posts/
[=27 的东西=]
您可以为英文页面设置 frontmatter default。
# _config.yml
defaults:
-
scope:
locale: "en" # To sort by locale. You could also sort by path.
type: "posts"
values:
permalink: en/:categories/:year/:month/:title/
我正在用英语和西班牙语建立一个博客。我的目的是直接从基础 url: http://blog/
访问默认的西班牙语内容和 http://blog/en
的英语内容。
通过检查我在每个 post 前面设置的 locale
变量进行分页时,我已经拥有所有循环遍历 posts 的代码。虽然我的博客 post 没有相同的文件名,但我 link 他们在前面的内容中使用了另一个名为 ref
.
因此,对于 post A(西班牙语)和 post B(英语),我会有这样的内容:
2018-01-01-post-A.md
---
locale: en
ref: my-ref
---
foo
2019-01-04-post-B.md:
---
locale: es
ref: my-ref
---
bar
我的问题是:我应该把我的英语 post 放在哪里,以便可以通过 http://blog/en/post-name/
访问它们?
那些 post 除了他们的语言之外已经有了他们的类别,所以将它们放在 /en/_posts
中是行不通的,就像在 [=20= 中指定 permalink 一样] 到 permalink: /:categories/:year/:month/:title/
之类的东西会使 url 看起来像 http://blog/en/category-1/category-2/post-name
.
在每个英语 post 中定义一个 permalink 也不是一个选项,因为我希望它们是从 post 数据(日期和标题)生成的。
有没有我遗漏的东西可以让我使用 /en/
作为我想要的 URL 的一部分?
菜单语言选择器和分页都有效,仅以所选语言显示 posts。但是,当鼠标悬停在英文的 post 上时,虽然我将它们放在 _posts/en
中,但子文件夹并没有成为 url 的一部分。当我尝试相反的方法时,也会发生同样的情况,在项目根目录中创建一个名为 en
的新文件夹,并在其中添加所有英文 posts,给我留下类似 en/_posts/
[=27 的东西=]
您可以为英文页面设置 frontmatter default。
# _config.yml
defaults:
-
scope:
locale: "en" # To sort by locale. You could also sort by path.
type: "posts"
values:
permalink: en/:categories/:year/:month/:title/