如何在Mistune中停用某些Markdown解析规则
例如,我希望只启用**bold**和*italic*,并停用所有其他规则解析。
这有可能吗?
发布于 2017-09-13 20:02:46
您需要创建自定义renderer。renderer是一个class,每个rule都是该renderer class的一个method。要拥有自己的规则,您需要覆盖一个方法并使其什么也不做(下面的方法A),或者替换完整的default_rules列表(下面的方法B)
方法A)
覆盖规则方法:Here是规则的完整列表。
例如:
class YourRenderer(mistune.Renderer):
#example of rule
def block_code(self, code, lang):
pass
renderer = YourRenderer()
markdown = mistune.Markdown(renderer=renderer) # this renderer won't have the block_code rule方法B)
篡改default_rules数组
renderer有一个自己的属性,叫做default_rules。您只需创建一个自定义渲染器,并根据您的喜好修改该数组。下面是一个示例class,可以帮助您快速入门
class CustomRenderer(InlineLexer):
# Modify this array as you like
# you can insert or delete whatever rules it has
self.default_rules.insert(3, 'some_function')我没有测试过这个
https://stackoverflow.com/questions/46193552
复制相似问题