forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgitiles_autolink.py
28 lines (18 loc) · 935 Bytes
/
gitiles_autolink.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Implements Gitiles' simpler auto linking.
This extention auto links basic URLs that aren't bracketed by <...>.
https://gerrit.googlesource.com/gitiles/+/master/gitiles-servlet/src/main/java/com/google/gitiles/Linkifier.java
"""
from markdown.inlinepatterns import (AutolinkPattern, Pattern)
from markdown.extensions import Extension
AUTOLINK_RE = r'([Hh][Tt][Tt][Pp][Ss]?://[^>]*)'
class _GitilesSmartQuotesExtension(Extension):
"""Add Gitiles' simpler linkifier to Markdown."""
def extendMarkdown(self, md, md_globals):
md.inlinePatterns.add('gitilesautolink',
AutolinkPattern(AUTOLINK_RE, md),
'<autolink')
def makeExtension(*args, **kwargs):
return _GitilesSmartQuotesExtension(*args, **kwargs)