如何使用 python-markdown 创建一个新的 markdown 提示来扩展另一个提示

How to create a new markdown cue extending another one using python-markdown

我在 pelican 使用 markdown,但是对图像的控制不是很好(就像其他 markdown 一样)

我正在尝试创建一个 extenxion 来将图像包裹起来,用一定的宽度来拉伸它们,并在它们周围加上一些标签。

基本上我想这样写:

!![alt text](path.to.image.png title of the image)

并生成这个 html

<a href="path.to.image.png"><img width=100% src="path.to.image.png" alt="alt text" title="title of the image"/></a>

tutorial太基础了。是否可以环绕当前的 img 代码,或者我必须像创建一个全新的 md cue 一样创建它

谢谢!

是的,您需要创建自己的内联模式。 None 的内置模式将适用于此。也就是说,应该不会太难:

class MyImgPattern(Pattern):
    def handleMatch(self, m):
        a = etree.Element('a', attrib={'href':m.group(3)})
        img = etree.Element('img', attrib={
            'width': '100%', 
            'src': m.group(3),
            'alt': m.group(2),
            'title': m.group(4)
        })
        a.append(img)
        return a

请注意,我假设您的正则表达式具有特定结构,该结构基于内置图像模式所使用的结构。根据您使用的正则表达式,您可能需要相应地调整组。

然后像往常一样告诉 Markdown 你的新模式,你就可以开始了。