【发布时间】:2019-01-14 21:08:53
【问题描述】:
我正在建立一个英语和西班牙语两种语言的博客。我的意图是直接从基本 URL:http://blog/ 访问默认的西班牙语内容,从 http://blog/en 访问英文内容。
通过检查我在每个帖子前端问题中设置的locale 变量进行分页时,我已经有了所有代码来循环仅用英语或西班牙语发布帖子。虽然我的博客文章没有相同的文件名,但我使用前面的另一个变量链接它们,称为 ref。
所以对于西班牙文的帖子 A 和英文的帖子 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
我的问题是:我应该把我的英文帖子放在哪里,以便通过http://blog/en/post-name/ 访问它们?
这些帖子除了语言之外已经有自己的类别,因此将它们放在/en/_posts 中是行不通的,因为将_config.yml 中的永久链接指定为permalink: /:categories/:year/:month/:title/ 之类的东西会使网址看起来像http://blog/en/category-1/category-2/post-name .
在每篇英文帖子中定义一个永久链接也不是一种选择,因为我希望它们是从帖子数据(日期和标题)中生成的。
我是否缺少某些东西可以让我根据需要使用 /en/ 作为 URL 的一部分?
菜单语言选择器和分页都有效,只显示所选语言的帖子。但是,当将鼠标悬停在英文帖子上时,虽然我将它们放在 _posts/en 中,但子文件夹不会成为 url 的一部分。当我尝试相反的情况时也会发生同样的情况,在项目根目录中创建一个名为 en 的新文件夹并在其中添加所有英文帖子,留下类似 en/_posts/ 的内容
【问题讨论】:
-
并非如此。我的问题与哪个插件可以帮助我无关。我想知道如何将帖子的子目录作为博客 URL 的一部分进行传播。