给Blog添加了MathJax支持
先随便写一段公式试试吧:
mathjax \(\mathrm{The\ form\ of\ the\ Schr\ddot{o}dinger\ equation\ is:\ }\)
$
-\frac{\hbar^2}{2m}\nabla^2\Psi+V\Psi=i\hbar\frac{\partial\Psi}{\partial{}t}
$
看着还不错,这是相应的LaTeX代码:
\(\mathrm{The\ form\ of\ the\ Schr\ddot{o}dinger\ equation\ is:\ }\)
$
-\frac{\hbar^2}{2m}\nabla^2\Psi+V\Psi=i\hbar\frac{\partial\Psi}{\partial{}t}
$
原理很简单,这是JS代码:
jQuery(function ($) {
var codes = $('code');
if (codes.length > 0) {
var scriptSrc = 'https://cdnjs.cloudflare.com/' +
'ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML';
$.getScript(scriptSrc, function () {
codes.map(function () {
var parentTag = $(this).parent().prop('tagName').toLowerCase();
if (parentTag == 'pre' && $(this).hasClass('language-mathjax')) {
var node = $('<div>' + $(this).html() + '</div>');
$(this).parent().replaceWith(node);
MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.get(0)]);
return;
}
var codeMatch = /^mathjax\s+(.*)$/.exec($(this).html());
if (codeMatch) {
var node = $('<span>' + codeMatch[1] + '</span>');
$(this).replaceWith(node);
MathJax.Hub.Queue(["Typeset", MathJax.Hub, node.get(0)]);
return;
}
});
});
}
});
所有遇到诸如:
`mathjax xxxxxx`
这样的行内标注,或者
```mathjax
xxxxxx
```
这样的页内标注时,MathJax都会把其中的LaTeX代码转换成排版好的格式。