84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
每当在一些markdown编辑器写完文章后,由于常用到LaTeX要用到大量下划线,所以在发文章前要在文章所有下划线前加反斜杠才不会乱。这样hexo的md就和所写的纯md不一样了。
hexo自带的markdown渲染引擎对于一些复杂的公式无法支持渲染,这让我很头疼,写好的公式还要截成图才能发布。如何使用其他的markdown渲染引擎?
走同样的路,发现不同的人生
谢谢h404bi的回答,这个坑也很久了,现在补上……
主要是在一些md编辑器上编辑的文章粘到hexo,若加上{% raw %}{% endraw %}之类的就和原文章不同,每次发布都要修改=_=后来找到一个方法,直接修改 Markdown 的内容:
{% raw %}{% endraw %}
该冲突主要是由于对 \ 和 _ 的转义造成的。找到 marked 脚本文件, 通常在
hexo\node_modules\marked\lib\marked.js
先备份一下,然后修改第449行
escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
为
escape: /^\\([`*\[\]()#+\-.!_>])/,
第847行
return '' + text + '';
修改为:
return '_' + text + '_';
不推荐,但目前我就是这样解决的。
Hexo 默认选用是 Markdown 渲染引擎是 marked (hexo-renderer-marked)。
除了默认的 marked,目前在 Hexo 上已有的其它比较好且还在维护的 Markdown 渲染引擎也就有 hexo-renderer-markdown-it 和 hexo-renderer-pandoc,其中前者 markdown-it 支持CommonMark标准,后者则支持Pandoc(标记语言转换器,我没用过,但看了下好像是支持 LaTeX 转 HTML 的)。
CommonMark
Pandoc
写公式的话可以试下 MathJax 吧,MathJax 渲染器在 Hexo 上的实现也有的。具体自行谷歌:Hexo MathJax。
如何使用别的 Markdown 渲染引擎。把 hexo 里package.json的 Markdown 渲染器依赖换掉就行了,比如hexo-renderer-marked换成hexo-renderer-markdown-it。
package.json
hexo-renderer-marked
hexo-renderer-markdown-it
对了,避免下划线反斜杠的话,可以试试 Hexo 自带的 Tag Plugins。{% raw %}{% endraw %}内的内容不会被渲染。
主要是在一些md编辑器上编辑的文章粘到hexo,若加上
{% raw %}{% endraw %}
之类的就和原文章不同,每次发布都要修改=_=后来找到一个方法,直接修改 Markdown 的内容:该冲突主要是由于对 \ 和 _ 的转义造成的。找到 marked 脚本文件, 通常在
先备份一下,然后修改第449行
为
第847行
修改为:
不推荐,但目前我就是这样解决的。
Hexo 默认选用是 Markdown 渲染引擎是 marked (hexo-renderer-marked)。
除了默认的 marked,目前在 Hexo 上已有的其它比较好且还在维护的 Markdown 渲染引擎也就有 hexo-renderer-markdown-it 和 hexo-renderer-pandoc,其中前者 markdown-it 支持
CommonMark
标准,后者则支持Pandoc
(标记语言转换器,我没用过,但看了下好像是支持 LaTeX 转 HTML 的)。写公式的话可以试下 MathJax 吧,MathJax 渲染器在 Hexo 上的实现也有的。具体自行谷歌:Hexo MathJax。
如何使用别的 Markdown 渲染引擎。把 hexo 里
package.json
的 Markdown 渲染器依赖换掉就行了,比如hexo-renderer-marked
换成hexo-renderer-markdown-it
。对了,避免下划线反斜杠的话,可以试试 Hexo 自带的 Tag Plugins。
{% raw %}{% endraw %}
内的内容不会被渲染。