JeKyll 在 Windows 下本地预览中文路径

问题

JeKyll(本文为3.8)支持 _post 目录下多级目录和中文路径
(GitHub Pages + JeKyll 可正常使用)(非Windows系统)

但在 Windows 本地预览时,若 markdown 文件名是中文的,会无法访问该文章(Markdown文件)(跳转到 JeKyll 404 页面)。

解决方法

修改 Rubyfilehandler.rb 文件,若害怕误操作可以先备份。
不知道该文件存放在哪可以使用 Everything 搜一下

# 第一处
path = req.path_info.dup.force_encoding(Encoding.find("filesystem")
path.force_encoding("UTF-8") # 加入的代码
if trailing_pathsep?(req.path_info)  

# 第二处
break if base == "/"
base.force_encoding("UTF-8") # 加入的代码
break unless File.directory?(File.expand_path(res.filename + base))

第一处
第二处

jekyll clean && jekyll serve

效果图

Table of Contents