from ..util import escape_url __all__ = ['url'] URL_LINK_PATTERN = r'''https?:\/\/[^\s<]+[^<.,:;"')\]\s]''' def parse_url_link(inline, m, state): text = m.group(0) pos = m.end() if state.in_link: inline.process_text(text, state) return pos state.append_token({ 'type': 'link', 'children': [{'type': 'text', 'raw': text}], 'attrs': {'url': escape_url(text)}, }) return pos def url(md): md.inline.register('url_link', URL_LINK_PATTERN, parse_url_link)