From 3ca7992d5efcd790184a9c463f068a93fda4d6b3 Mon Sep 17 00:00:00 2001 From: Hsiaoming Yang Date: Wed, 15 May 2013 22:20:57 +0800 Subject: [PATCH] fix on embed links --- june/markdown.py | 56 +++++++++++++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/june/markdown.py b/june/markdown.py index b7f0324..cf21c50 100644 --- a/june/markdown.py +++ b/june/markdown.py @@ -9,40 +9,56 @@ def autolink(self, link, is_email): title = link.replace('http://', '').replace('https://', '') #: youtube.com - pattern = r'http://www.youtube.com/watch\?v=([a-zA-Z0-9\-\_]+)' + pattern = r'http://www\.youtube\.com\/watch\?v=([a-zA-Z0-9\-\_]+)' match = re.match(pattern, link) if not match: - pattern = r'http://youtu.be/([a-zA-Z0-9\-\_]+)' + pattern = r'http:\/\/youtu.be\/([a-zA-Z0-9\-\_]+)' match = re.match(pattern, link) if match: - value = ('' - '
' - '%(title)s
' - ) % {'id': match.group(1), 'link': link, 'title': title} + value = ( + '' + '
' + '%(title)s
' + ) % {'id': match.group(1), 'link': link, 'title': title} return value #: gist support - pattern = r'(https?://gist.github.com/[\d]+)' + pattern = r'(https?:\/\/gist\.github\.com\/.+\d+)' match = re.match(pattern, link) if match: - value = ('' - '
' - '%(title)s
' - ) % {'link': match.group(1), 'title': title} + value = ( + '' + '
' + '%(title)s
' + ) % {'link': match.group(1), 'title': title} return value #: vimeo.com - pattern = r'http://vimeo.com/([\d]+)' + pattern = r'https?:\/\/vimeo\.com\/([\d]+)' match = re.match(pattern, link) if match: - value = ('' - '
' - '%(title)s
' - ) % {'id': match.group(1), 'link': link, 'title': title} + value = ( + '' + '
' + '%(title)s
' + ) % {'id': match.group(1), 'link': link, 'title': title} + return value + + #: ascii.io + pattern = r'(http:\/\/ascii\.io\/a\/\d+)' + match = re.match(pattern, link) + if match: + value = ( + '' + '
' + '%(title)s
' + ) % {'url': match.group(1), 'link': link, 'title': title} return value if is_email: