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**')
# 输出: <p>I am using <strong>mistune markdown parser</strong></p>
  • 如果比较关心性能,则需要通过创建实例的方法来应用
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<pre><code>%s</code></pre>\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。转载请注明,变饼档博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值