shortimgs.py 619 B

12345678910111213141516171819202122
  1. import markdown
  2. from markdown.inlinepatterns import LinkPattern
  3. from markdown.util import etree
  4. IMAGES_RE = r'\!(\s?)\((<.*?>|([^\)]*))\)'
  5. class ShortImagesExtension(markdown.Extension):
  6. def extendMarkdown(self, md):
  7. md.registerExtension(self)
  8. md.inlinePatterns.add('misago_short_images', ShortImagePattern(IMAGES_RE, md), '_end')
  9. class ShortImagePattern(LinkPattern):
  10. def handleMatch(self, m):
  11. img_src = m.groups()[2].strip()
  12. if img_src:
  13. img = etree.Element("img")
  14. img.set('src', img_src)
  15. img.set('alt', img_src)
  16. return img