Python使用Mistune对markdown自定义规则解析

前言

之前使用的是python-markdown做markdown文本的解析,后面因为需要自定义图片的解析,添加自定义属性。 相比较而言,Mistune具有更好的灵活性,因而转而选择Mistune。另外Mistune比python-markdown有更快的解析速度。

安装

GitHub地址:Mistune

pip安装最新版本:

$ pip install mistune==2.0.0a4

自定义IMAGE解析规则

我们只需要新建一个类继承mistune的HTMLRenderer类,重写image函数,该函数负责对图片语法进行解析,修改原有的实现即可。

from mistune import HTMLRenderer, escape_html


class MDRender(HTMLRenderer):
    def image(self, src, alt="", title=None):
        s = '<img src="' + src + '" alt="' + alt + '"' + ' class="img-fluid" data-action="zoom"'
        if title:
            s += ' title="' + escape_html(title) + '"'
        return s + ' />'

使用时,需要指定你自定义的解析类来进行解析,如下:

from .MDRender import MDRender

markdown = mistune.create_markdown(renderer=MDRender())
text = markdown(text)


暂无评论!
登录 来发表评论