Как создать новую реплику уценки, расширяющую другую с помощью python-markdown
Я использую уценку для пеликана, но контроль над изображениями не очень хорош (как и с остальной уценкой)
Я пытаюсь создать расширение, чтобы обернуть изображение с некоторой шириной, чтобы растянуть их и некоторые теги вокруг них.
В основном я хочу написать это:
!![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>
Учебник слишком прост. Можно ли обернуть текущий IMG-код или мне нужно создать его, как это совершенно новый MD CUE
Спасибо!
1 ответ
Да, вам нужно будет создать свой собственный встроенный шаблон. Ни один из встроенных шаблонов не будет работать для этого. Тем не менее, это не должно быть трудно:
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 о вашем новом паттерне, как обычно, и вы должны быть в порядке.