@@ -62,7 +62,11 @@ convert
|
||||
|
||||
autolinks
|
||||
A boolean indicating whether the "automatic link" style should be used when
|
||||
a ``a`` tag's contents match its href. Defaults to ``True``
|
||||
a ``a`` tag's contents match its href. Defaults to ``True``.
|
||||
|
||||
default_title
|
||||
A boolean to enable setting the title of a link to its href, if no title is
|
||||
given. Defaults to ``False``.
|
||||
|
||||
heading_style
|
||||
Defines how headings should be converted. Accepted values are ``ATX``,
|
||||
|
||||
@@ -69,6 +69,7 @@ class MarkdownConverter(object):
|
||||
strip = None
|
||||
convert = None
|
||||
autolinks = True
|
||||
default_title = False
|
||||
heading_style = UNDERLINED
|
||||
bullets = '*+-' # An iterable of bullet types.
|
||||
strong_em_symbol = ASTERISK
|
||||
@@ -198,9 +199,14 @@ class MarkdownConverter(object):
|
||||
href = el.get('href')
|
||||
title = el.get('title')
|
||||
# For the replacement see #29: text nodes underscores are escaped
|
||||
if self.options['autolinks'] and text.replace(r'\_', '_') == href and not title:
|
||||
if (self.options['autolinks']
|
||||
and text.replace(r'\_', '_') == href
|
||||
and not title
|
||||
and not self.options['default_title']):
|
||||
# Shortcut syntax
|
||||
return '<%s>' % href
|
||||
if self.options['default_title'] and not title:
|
||||
title = href
|
||||
title_part = ' "%s"' % title.replace('"', r'\"') if title else ''
|
||||
return '%s[%s](%s%s)%s' % (prefix, text, href, title_part, suffix) if href else text
|
||||
|
||||
|
||||
@@ -173,7 +173,6 @@ def test_chomp():
|
||||
|
||||
def test_a():
|
||||
assert md('<a href="https://google.com">Google</a>') == '[Google](https://google.com)'
|
||||
assert md('<a href="https://google.com">https://google.com</a>', autolinks=False) == '[https://google.com](https://google.com)'
|
||||
assert md('<a href="https://google.com">https://google.com</a>') == '<https://google.com>'
|
||||
assert md('<a href="https://community.kde.org/Get_Involved">https://community.kde.org/Get_Involved</a>') == '<https://community.kde.org/Get_Involved>'
|
||||
assert md('<a href="https://community.kde.org/Get_Involved">https://community.kde.org/Get_Involved</a>', autolinks=False) == '[https://community.kde.org/Get\\_Involved](https://community.kde.org/Get_Involved)'
|
||||
@@ -189,6 +188,7 @@ def test_a_spaces():
|
||||
def test_a_with_title():
|
||||
text = md('<a href="http://google.com" title="The "Goog"">Google</a>')
|
||||
assert text == r'[Google](http://google.com "The \"Goog\"")'
|
||||
assert md('<a href="https://google.com">https://google.com</a>', default_title=True) == '[https://google.com](https://google.com "https://google.com")'
|
||||
|
||||
|
||||
def test_a_shortcut():
|
||||
@@ -197,8 +197,7 @@ def test_a_shortcut():
|
||||
|
||||
|
||||
def test_a_no_autolinks():
|
||||
text = md('<a href="http://google.com">http://google.com</a>', autolinks=False)
|
||||
assert text == '[http://google.com](http://google.com)'
|
||||
assert md('<a href="https://google.com">https://google.com</a>', autolinks=False) == '[https://google.com](https://google.com)'
|
||||
|
||||
|
||||
def test_b():
|
||||
|
||||
Reference in New Issue
Block a user