hexo常见问题(常见问题)

问题1

Error: pandoc exited with code 7: pandoc: Unknown extension: smart

INFO Start processing
FATAL Something’s wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Error: pandoc exited with code 7: pandoc: Unknown extension: smart
at ChildProcess. (/home/mxxmhh/github/blog/node_modules/hexo-renderer-pandoc/index.js:94:20)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at maybeClose (internal/child_process.js:925:16)
at Socket.stream.socket.on (internal/child_process.js:346:11)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at Pipe._handle.close [as _onclose] (net.js:567:12)

解决方法

卸载pandoc
~$:npm un hexo-renderer-pandoc --save

问题2

部分公式无法解析。
是因为markdown和mathjax的解析有一些冲突,按照参考文献$1$中进行修改即可,原因见[2]。
修改node_modules/kramed/lib/rules/inline.js文件,将第11行替换成"escape: /^\([`*[]()#$+-.!_>])/",将第19行替换成"em: /\b_((?:__|[\s\S])+?)_\b|*((?😗*|[\s\S])+?)*(?!*)/"。(不用加双引号)
第一次修改是去掉\的转义。
第二次修改是去掉下划线转义。

问题3

Ubuntu 16.04直接使用命令安装nodejs,版本太老,需要使用源代码安装
~$:sudo apt install nodejs npm
上述命令可以在Ubuntu 18.04直接使用。

问题4

昨天发现博客的一些公式不能渲染,刚开始的时候以为是没有修改kramed文件,就是和问题2一样,后来发现不是,是^符号后面没有设置好。比如

1
$a^{x+y}b$

应该写成

1
$a^{x+y} b$

或者

1
$a\^{x+y}b$

就是要多一个空格才行,否则就会解析错误。
还有就是\可能没转义成功,就用\\去代替\吧。

参考文献

1.https://hexo-guide.readthedocs.io/zh_CN/latest/theme/[NexT]配置MathJax.html
2.https://shomy.top/2016/10/22/hexo-markdown-mathjax/