Jekyll问题及解决措施
目录:
路径名不支持中文
解决方法: jekyll中文文件名本地预览问题
-
引用: (如果使用引用格式则代码可读性过低, 故如此.)
修改安装目录
\Ruby22-x64\lib\ruby\2.2.0\webrick\httpservlet
下的filehandler.rb
文件,建议先备份。找到下列两处,添加一句( + 的一行为添加部分)
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 s
经测试, 我这里(Windows的Linux子系统)的文件地址为 /usr/lib/ruby/2.7.0/webrick/httpservlet/filehandler.rb
.
不支持数学公式
参考链接:
- 寻找
head.html
部分:在Jekyll中使用LaTeX - 添加代码部分:如何在基于jekyll的github上发布的博客中支持MathJax(LaTex数学公式)? - 知乎
- 代码部分不能使用
cdn.mathjax.org
的说明:MathJax 2.7 documentation以及mathjax cdn弃用说明
首先使用bundle info minima
查询minima
的位置。我的运行结果:
* minima (2.5.1)
Summary: A beautiful, minimal theme for Jekyll.
Homepage: https://github.com/jekyll/minima
Path: /var/lib/gems/2.7.0/gems/minima-2.5.1
然后将_includes/head.html
文件复制到网页所在文件夹。
cp /var/lib/gems/2.7.0/gems/minima-2.5.1/_includes/head.html ./_includes/head.html
最后在本地的head.html
中添加如下代码即可(记得加在<head>
和</head>
之间):
<!-- Enable mathjax -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'],
inlineMath: [['$','$']]
}
});
</script>
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
我还在_config.yaml
中增加了如下段落(未验证其作用,仅为方便读者复现本节效果):
markdown: kramdown
kramdown:
math_engine: mathjax