shortimgs.py 633 B

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