
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}
29 lines
935 B
Python
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)
|