Mistune中文指导文档

原文地址:http://www.bianbingdang.com/article_detail/150.html

Mistune中文指导文档

Mistune

Mistune开源地址:https://github.com/lepture/mistune
一个纯python的markdown快速解析器,灵感源于marked

特性

  • 纯Python开发,在Python2.7、python3.5+ 、PyPy上测试通过
  • 它是目前最快纯Python MarkDown解析器
  • 超多插件支持,Table, footnotes, autolink, fenced code 等.

安装

$ pip install mistune

基本操作

  • 简单渲染
import mistune
mistune.markdown('I am using **mistune markdown parser**')
# 输出: 

I am using mistune markdown parser

  • 如果比较关心性能,则需要通过创建实例的方法来应用
import mistune
markdown = mistune.Markdown()
markdown('I am using **mistune markdown parser**')

Mistune默认开启了所有的特性,如果你需要自定义配置,可以通过参数设置。

配置参数

以下是渲染输出页面的一些参数

mistune.Renderer:

renderer = mistune.Renderer(escape=True, hard_wrap=True)
# use this renderer instance
markdown = mistune.Markdown(renderer=renderer)
markdown(text)
  • escape: 设置未false,则所有的HTML将不会被转义.
  • hard_wrap: 设置为True,它将支持GFM换行特性。所有的新行将被替换为
    tag
  • use_xhtml: 如果设置为True,所有的标签必须符合xhtml规范, 例如:
    .
  • parse_block_html: 仅在块级别HTML中分析文本
  • parse_inline_html: 仅在内联级别HTML中分析文本

使用默认的解析器,可以用如下方法:

mistune.markdown(text, escape=True, hard_wrap=True)
markdown = mistune.Markdown(escape=True, hard_wrap=True)
markdown(text)

渲染器

像misaka/sundown一样,您可以通过自定义渲染器影响渲染。您所需要做的就是对渲染器类进行子类化。

  • 下面是一个简单的代码高亮的例子
import mistune
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import html

class HighlightRenderer(mistune.Renderer):
    def block_code(self, code, lang):
        if not lang:
            return '\n
%s
\n' % \ mistune.escape(code) lexer = get_lexer_by_name(lang, stripall=True) formatter = html.HtmlFormatter() return highlight(code, lexer, formatter) renderer = HighlightRenderer() markdown = mistune.Markdown(renderer=renderer) print(markdown('```python\nassert 1 == 1\n```'))

作者本身写了更多的渲染器,可在mistune-contrib查找

作者微信:bianbingdang。转载请注明,变饼档博客

你可能感兴趣的:(Python库)