markdown库简介
Python的markdown库流行的有两个,python-markdown和python-markdown2,看名字可以猜出来markdown2要比markdown新,是的,而且Github上的star数量也是markdown2比较多。还有一个重要问题就是,markdown不支持三个反引号包裹的代码块,想要书写代码块,只能缩进一个Tab或者四个空格,非常不方便,所以,我推荐使用python-markdown2。至于这两个哪个更快,我没有做专门测试,但markdown2作者说自己更快,谁知道呢,需要自己做一个详细测试。
python-markdown
首先需要安装python-markdown库,
pip install markdown |
在你的代码中这样使用:
import markdown |
python-markdown2
首先需要安装python-markdown2库,
pip install markdown2 |
在你的代码中这样使用:
import markdown2 |
这时候如果插入代码块,是没有高亮效果的,怎么样才能得到高亮效果呢?请继续看下面。
用Pygments美化你的代码块
Pygments是Python上的高亮代码块的通用库,支持很多种语言的代码,具体多少种呢?管它呢,反正很好用。说白了它就是一个css主题。
python-markdown和python-markdown2都支持Pygments语法高亮,并且它们都依赖于Pygments库。
使用方法
- 先去选个好看的颜色,http://pygments.org/demo/440022/,在右侧的
Use this style:
处选择,我是用的monokai
- 查看这个页面的源代码,把
pygments.css
弄出来 - 把
pygments.css
中的.syntax
全部替换成.codehilite
,然后在你的网页中引用 - 还要小改一下你的python代码
- python-markdown:
html = markdown2.markdown(markdown_text, extras=["fenced-code-blocks"])
(extras的名字是固定的,和css中的codehilite是对应的) - python-markdown2:
html = markdown.Markdown(extensions=['codehilite']).convert(markdown_text)
(extensions的名字是固定的,和css中的codehilite是对应的)
大功告成,赶快去爽一下吧!