1. 程式人生 > >hexo支持mathjax

hexo支持mathjax

doc code 打開 文件 scripts end marked text long

新博客:https://ylong765.github.io/Yinl-Blog/
歡迎關註,同步更新

技術博客有時避免不了一些數學公式,利用Hexo建立博客後,最開始利用Google的公式庫,但是得請求Google的網址,有時會被墻,所以不得不轉戰方向。讓Hexo自己支持mathjax必然是一個省心的過程。然而事實並不省心。如果要建立一個支持數學公式的基於Hexo框架的博客,你得符合以下要求:

  • 博客:Hexo,博客的搭建可以看我之前的文章
  • 支持mathjax的markdown渲染器:hexo-renderer-kramed
  • 支持mathjax的Theme:NexT:(NexT使用文檔,之前用的Archar,不過不支持mathjax)
  • markdown編輯器:Typora

安裝渲染器

hexo默認的渲染器是marked,並不支持mathjax。kramed是在marked基礎上修改的,支持了mathjax。你的hexo工程目錄下的node_modules中可以找到對應的渲染器文件夾。同時在你的工程目錄下用以下命令安裝kramed。另外補充一個NexT配置中推薦的渲染器hexo-renderer-pandoc,功能很強大不僅可以渲染markdown,還支持textile、reStructedText等許多其他格式。具體參見官方教程

npm uninstall hexo-renderer-marked --save
npm install hexo-renderer-kramed --save
// npm install hexo-renderer-pandoc --save

如果你安裝了hexo-math包,卸載再安裝hexo-renderer-mathjax包

npm uninstall hexo-math --save
npm install hexo-renderer-mathjax --save

更新mathjax的CDN鏈接,打開node_modules/hexo-renderer-mathjax/mathjax.html

修改<scripts>標簽

<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML"></script>

NexT開啟mathjax

打開主題的_config.yml文件,找到math字段,新版的NexT主題支持兩個數學渲染引擎mathjax和katex,這裏我們使用mathjax

math:
  enable: true
  // 省略很多註釋
  engine: mathjax

文章中開啟mathjax標簽

為加快渲染速度,渲染器只會在標簽中有mathjax: true的文章中使用利用mathjax渲染。例:

title: hexo支持mathjax
date: 2018-08-31 08:33:08
tags: [Web,hexo,mathjax]
mathjax: true // 開啟後才會渲染數學公式

Typoare

Typoare原生支持數學公式的輸入和渲染,而且還支持本地圖片導入的圖片復制位置。

然後開啟你的Typoare編輯器輸入幾串公式,看看效果吧~

hexo支持mathjax