Hexo报错-highlight相关

hexo g -d的时候报以下错误

1
2
3
Deprecated as of 10.7.0. highlight(lang, code, ...args) has been deprecated.
Deprecated as of 10.7.0. Please use highlight(code, options) instead.
https://github.com/highlightjs/highlight.js/issues/2277

问题原因

旧版的hexo-util模块中,使用了

1
result = hljs.highlight(lang, lines.shift(), false, result.top); 

而在highlight更新后,相对应的语法变成了

1
2
3
4
result = hljs.highlight(lines.shift(), {
language: lang,
ignoreIllegals: false
}, result.top);

解决办法

方法一

node_modules/hexo-util/lib/highlight.js 文件中修改上述代码

方法二

由于Propose: Improve highlight API · Issue #2277 · highlightjs/highlight.js (github.com)已经解决了该问题,因此只需更新hexo-util模块

1
npm i hexo-util

参考资料