UPDATE:
我刚刚创建了OmniMarkupPreviewer的新分支feature-LaTex-mdown,可以支持LaTex了(使用MathJax),你可以看看这里:
https://github.com/timonwong/OmniMarkupPreviewer/tree/feature-LaTex-mdown例子(MathJax, 参考http://
docs.mathjax.org/en/latest/start.html#tex-and-latex-input):When $a \ne 0$, there are two solutions to \(ax^2 + bx + c = 0\) and they are
$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$
Python-Markdown的扩展性很好,主要是靠这样实现的:
1. 输出格式化文本(codehilite最好装上pygments):
# 注意,mathjax 是一个我修改过的 mathjax 扩展,同时支持 $..$, $$..$$ 和 \( ... \) 语法。
# 到这里获取
https://raw.github.com/timonwong/OmniMarkupPreviewer/feature-LaTex-mdown/OmniMarkupLib/Renderers/libs/markdown/extensions/mathjax.py# 文件就放到 markdown/extensions 下面
import markdown
markdown.markdown(text, tab_length=2, output_format='html5',
extensions=[
'tables', # 表格
'mathjax', # Latex
'strikeout', # This ~~is a deleted text~~.
'fenced_code', # GitHub flavored markdown的代码片段格式
'codehilite', # 代码高亮
]
)
2: 样式表,你可以直接拿OmniMarkupPreviewer里面的。
3: 还有就是HTML的模版,如果要加入MathJax的支持,把下面的代码加上:
<script type="text/x-mathjax-config">
// MathJax的配置
MathJax.Hub.Config({
tex2jax: {
// 默认mathjax只识别 $$ .. $$
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
processEscapes: true
},
TeX: {
equationNumbers: {
autoNumber: 'AMS'
}
},
"HTML-CSS": {
imageFont: null // 不使用imageFont可以删除mathjax/fonts/HTML-CSS/TeX/png 目录
}
});
</script>
<script type="text/javascript" src="/public/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
希望(仍然)对你有用。