diff core/mdexts/ssl_images.py @ 902:4dee923a2f6d

Merge with upstream.
author Brian Neal <bgneal@gmail.com>
date Sat, 07 Mar 2015 14:56:41 -0600 (2015-03-07)
parents f12751259f66
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/mdexts/ssl_images.py	Sat Mar 07 14:56:41 2015 -0600
@@ -0,0 +1,28 @@
+"""
+A python-markdown extension to turn <img> tags with http: source attributes into
+<a> tags.
+"""
+from urlparse import urlparse
+
+import markdown
+
+
+class SslImagesTreeprocessor(markdown.treeprocessors.Treeprocessor):
+
+    def run(self, root):
+        for node in root.iter('img'):
+            src = node.get('src')
+            if src:
+                url = urlparse(src)
+                if url.scheme == 'http':
+                    node.clear()
+                    node.tag = 'a'
+                    node.text = 'Click for image'
+                    node.set('href', url.geturl())
+
+
+class SslImagesExtension(markdown.Extension):
+
+    def extendMarkdown(self, md, md_globals):
+        tree_proc = SslImagesTreeprocessor()
+        md.treeprocessors.add('ssl_images', tree_proc, '>inline')