Index: tools/md_browser/gitiles_autolink.py |
diff --git a/tools/md_browser/gitiles_autolink.py b/tools/md_browser/gitiles_autolink.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5cfeb21313ea2a0d809bf3dab3ff056365be3c00 |
--- /dev/null |
+++ b/tools/md_browser/gitiles_autolink.py |
@@ -0,0 +1,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) |