0
Files
src/tools/md_browser/gitiles_autolink.py
vapier fceea8e4ed support gitiles auto-linking
The gitiles renderer doesn't require URLs to be bracketed with <...>.
Add an extension to support that.

R=dpranke@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2743553002
Cr-Commit-Position: refs/heads/master@{#455683}
2017-03-09 07:05:13 +00:00

29 lines
935 B
Python

# 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)