关于hexo:hexo-多语言站点改造

40次阅读

共计 948 个字符,预计需要花费 3 分钟才能阅读完成。

工作中搜寻和查阅的文档以英文居多,于是便想着也革新一下本人博客。反对多语言的同时,顺便也算是给新的一年开一个头。

指标

这次革新的指标有两个:

  1. 全局多语言(中 - 英)的反对。
  2. 不同语言之间能够相互切换。

摸索

hexo 以及之前用的 NexT 主题尽管有 i18n 的反对,但都是对导航、菜单等偏固定内容的反对,并没有全局反对。

在网上搜寻相干文章后,大抵有如下 3 种解决方案:

序号 计划 长处 毛病
1 _post 下新建 en 文件夹寄存英文文章。 简单明了,无额定改变。 博客首页会展现所有文章。如果须要按语言显示需另外做开发。
2 应用 hexo-generator-i18n 插件。 简略,装置 + 配置即可应用。 1. 插件较长时间没有更新.<br/> 2. 装置插件后还须要另做开发,如语言切换等。
3 创立两套网站寄存不同版本语言。 绝对简略,齐全独立。 两套网站局部配置和代码有冗余。

思考到操作和保护(次要还是懒,不想本人再开发),还是决定采纳第 3 中计划。

同时在查找材料时发现了 Fluid 主题,感觉很难受便趁此机会一起降级。

革新

在新博客的文件夹下,通过 hexo init 别离创立两个语言的博客。目录的构造如下:

.
├── blog-cn
├── blog-en
└── scripts

针对 Fluid 主题和多语言的配置能够参考:记一次 Hexo 博客迁徙与多语言站点革新。写的非常具体,循序渐进即可。

针对部署局部,参考:Hexo 增加多语言反对「国际化 i18n」。将部署流程汇总到了 shell 文件中,浏览起来能够略微轻松一些,也不便部署。

其本质就是在编译后的文件中多了一个 en 文件夹,寄存英文内容。因而能够通过 https://{your-blog}/en 来拜访。

#!/bin/bash

# Build CN blog
cd blog-cn && pnpm run build

# Build En blog
cd ../blog-en && pnpm run build

cd ../blog-cn
mkdir ./public/en &&mv ../blog-en/public/* ./public/en/

pnpm run deploy

迁徙

hexo 的迁徙一项是最轻松的事件。将 source 下须要的文件复制到新的中央即可。

其余

剩下的就只是翻译工作了,看看是否能够借助 Google 翻译或者 GPT 的力量了。

最初欢送来我更新过的博客游玩。

正文完
 0