Hugo 英语内容出现在中文页面

在开设了我的英语博客之后,在昨天更新的时候偶然发现标签页面当中出现了英语内容的标签,以为是标签页生成的逻辑有问题,然后看了一下,用于生成的变量是 $.Site.Taxonomies.tags,看起来也没有问题,想了一圈筛选的办法,似乎也解决不了。

然后昨晚写了一篇新博客后,发现文章的相似推荐也出现了英语文章内容,点进去才发现不对劲:虽然文章的内容是英语的,但是博客的站点名字,以及下方的版权信息介绍都是中文的。然后再看一眼路径,发现好像跟我预期的英语内容的路径也不一样。这个文章的路径是 /en/posts/2024/nuxt-cannot-init/,但是预期的应该是 /en/2024/nuxt-cannot-init/

如此看起来,问题的本质在于英语的内容文件被当成了中文博客的一部份来进行处理,所以在生成标签页和获取相关页面,都出现了英文内容。而出现这个问题的原因在于,我两种语言的目录设置不太妥当,中文的内容目录包含了英文的目录,导致英文的内容被当作是中文的一部份了。

1
2
3
4
5
6
7
[languages]
    [languages.zh]
        contentDir = 'content'
        ...
    [languages.en]
        contentDir = 'content/en'
        ...

于是把英文的内容路径改成 contentDir = 'content_en',并且新建同名文件夹,并把英文内容的文件移动到该文件夹,问题解决!