让Hexo Blog支持Mathjax
最近重新搭了一遍博客,使用的主题是Stella,感觉还挺对我审美的。然而这个主题本身不支持Mathjax,所以还得手动改一下。
Add themes/*my_theme*/layout/mathjax.ejs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| <% if (theme.mathjax.enable){ %> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], processEscapes: true } }); </script>
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: { skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code'] } }); </script>
<script type="text/x-mathjax-config"> MathJax.Hub.Queue(function() { var all = MathJax.Hub.getAllJax(), i; for(i=0; i < all.length; i += 1) { all[i].SourceElement().parentNode.className += ' has-jax'; } }); </script>
<script type="text/javascript" src="<%- theme.mathjax.cdn %>"></script> <% } %>
|
Add this to _config.yml
1 2 3 4
| mathjax: enable: true cdn: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.6/MathJax.js?config=TeX-AMS-MML_HTMLorMML
|
Add this to themes/*my_theme*/layout/post.ejs
1 2 3
| <% if (page.mathjax == true){ %> <%- partial('mathjax') %> <% } %>
|
1 2 3 4 5 6 7
| --- title: 让Hexo Blog支持Mathjax date: 2022-02-04 17:53:21 tags: [blog] categories: [notes] mathjax: true ---
|
Replace the renderer
如果之前有安装过hexo-math
,还需要先卸载。
Hexo 默认的 Markdown 渲染器是hexo-renderer-marked
,在解析$\LaTeX$语法的时候会和 Markdown 本身的语法符号冲突。
最直接的解决方法是换个渲染器,在这里我选择的是 hexo-renderer-kramed。
1 2
| npm uninstall hexo-renderer-marked --save npm install hexo-renderer-kramed --save
|
效果
参考文章:
给Hexo主题添加LaTeX公式支持