shortimgs.py 641 B

123456789101112131415161718192021222324
  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(
  9. "misago_short_images", ShortImagePattern(IMAGES_RE, md), "_end"
  10. )
  11. class ShortImagePattern(LinkPattern):
  12. def handleMatch(self, m):
  13. img_src = m.groups()[2].strip()
  14. if img_src:
  15. img = etree.Element("img")
  16. img.set("src", img_src)
  17. img.set("alt", img_src)
  18. return img