blob: 5cfeb21313ea2a0d809bf3dab3ff056365be3c00 [file] [log] [blame]
# 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)