Hexo-Fluid 博客搭建过程中遇到的小问题
¶复杂数学公式渲染问题
渲染失败的原因是 Hexo 默认的 Markdown 渲染器不支持复杂公式,所以需要更换渲染器。
首先卸载默认渲染器:
1 |
|
新渲染器Fluid官方配置手册中提供两种选择:mathjax
和katex
,其中mathjax
需要额外安装Pandoc
Release pandoc 3.7.0.1 · jgm/pandoc(如需安装,windows系统下载后缀为-windows-x86_64.msi
的文件)
我首先尝试了mathjax
,但是运行后npm audit
报告显示了 ejs
(<= 3.1.9) 存在无法修复的漏洞,且影响了hexo-renderer-mathjax
插件中的 ejs
版本,mathjax
渲染失败。
接下来我尝试了katex
,在gitbash中运行:
1 |
|
然后在根目录 _config.yaml
中添加:
1 |
|
还要记得修改themes\fluid
下的_config.yaml
:
1 |
|
接下来在gitbash中执行hexo clean
,在有数学公式的文章 Front-matter 里指定 math: true
,数学公式就能正常渲染了!
如果你不想每次都指定math: true
,可以修改配置文件中的math: specific
项:
1 |
|
¶一级目录无法跳转
查阅网上资料发现可能有两个原因:
- Fluid升级到1.9后与Hexo目录插件产生冲突。
Fluid升级前生成目录使用的hexo-toc
插件和Fluid 1.9+使用的目录功能冲突,导致目录无法正确跳转。
解决办法:卸载hexo-toc
在博客文件夹路径的gitbash中执行:
1 |
|
这种解决办法适用于升级Fluid后突然失效的老用户。
来源:文章右侧的目录功能不能跳转 · Issue #775 · fluid-dev/hexo-theme-fluid
hexo-renderer-markdown-it
配置问题
本人也尝试卸载了hexo-toc
,但是发现并没有用。我的博客刚部署完时还没有这个问题,且仅有一级目录无法跳转,应该并不是hexo-toc
引起的。
后来发现有网友提出是hexo-renderer-markdown-it
导致了目录跳转问题,将其卸载后目录跳转就正常了。但本人使用的数学公式渲染器katex
必须依赖hexo-renderer-markdown-it
,无法卸载。
在查阅hexo-renderer-markdown-it
相关资料后发现这只是一个配置问题。
hexo-renderer-markdown-it
的默认配置是从二级目录开始生成Heading ID,这也是为什么只有一级目录跳转不正常。
在博客根目录_config.yaml
中添加(不要删除原来的内容)markdown-it
的详细配置项,在默认配置情况下他们被省略:
1 |
|
将level
项改为1之后一级目录跳转就正常了!
目前我的配置文件:
1 |
|
如果不想修改,那么以后的博客从二级标题开始设置也没问题。