本文整理汇总了Python中markdown.inlinepatterns方法的典型用法代码示例。如果您正苦于以下问题:Python markdown.inlinepatterns方法的具体用法?Python markdown.inlinepatterns怎么用?Python markdown.inlinepatterns使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类markdown
的用法示例。
在下文中一共展示了markdown.inlinepatterns方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: import markdown [as 别名]
# 或者: from markdown import inlinepatterns [as 别名]
def __init__(self):
markdown.inlinepatterns.Pattern.__init__(self, r'(?<!\\)(\$\$?)(.+?)\2')
示例2: to_markdown
# 需要导入模块: import markdown [as 别名]
# 或者: from markdown import inlinepatterns [as 别名]
def to_markdown(text: str, *,
docformat: str = None,
module: pdoc.Module = None, link: Callable[..., str] = None):
"""
Returns `text`, assumed to be a docstring in `docformat`, converted to markdown.
`__docformat__` is respected
if present, otherwise Numpydoc and Google-style docstrings are assumed,
as well as pure Markdown.
`module` should be the documented module (so the references can be
resolved) and `link` is the hyperlinking function like the one in the
example template.
"""
if not docformat:
docformat = str(getattr(getattr(module, 'obj', None), '__docformat__', 'numpy,google '))
docformat, *_ = docformat.lower().split()
if not (set(docformat.split(',')) & {'', 'numpy', 'google'}):
warn('__docformat__ value {!r} in module {!r} not supported. '
'Supported values are: numpy, google.'.format(docformat, module))
docformat = 'numpy,google'
with _fenced_code_blocks_hidden(text) as result:
text = result[0]
text = _ToMarkdown.admonitions(text, module)
if 'google' in docformat:
text = _ToMarkdown.google(text)
text = _ToMarkdown.doctests(text)
text = _ToMarkdown.raw_urls(text)
# If doing both, do numpy after google, otherwise google-style's
# headings are incorrectly interpreted as numpy params
if 'numpy' in docformat:
text = _ToMarkdown.numpy(text)
if module and link:
# Hyperlink markdown code spans not within markdown hyperlinks.
# E.g. `code` yes, but not [`code`](...). RE adapted from:
# https://github.com/Python-Markdown/markdown/blob/ada40c66/markdown/inlinepatterns.py#L106
# Also avoid linking triple-backticked arg names in deflists.
linkify = partial(_linkify, link=link, module=module, wrap_code=True)
text = re.sub(r'(?P<inside_link>\[[^\]]*?)?'
r'(?:(?<!\\)(?:\\{2})+(?=`)|(?<!\\)(?P<fence>`+)'
r'(?P<code>.+?)(?<!`)'
r'(?P=fence)(?!`))',
lambda m: (m.group()
if m.group('inside_link') or len(m.group('fence')) > 2
else linkify(m)), text)
result[0] = text
text = result[0]
return text