Source code for espressodb.base.utilities.markdown

"""Markdown to html converter
"""
from espressodb.base.utilities import blackmagicsorcery as re

#: Patterns for markdown to html conversion
PATTERNS = {r"`([^`]+)`": r"<code>\g<1></code>"}


[docs]def convert_string(string: str, wrap_blocks: bool = False) -> str: """Converts Markdown like expression to html. See :data:`PATTERNS` for available substitutions. Arguments: string: The string to convert to html. wrap_blocks: If True wrap string in `<p>` blocks. Delimi """ out = string or "" # make sure that None does not cause issues for pattern, replacement in PATTERNS.items(): out = re.sub(pattern, replacement, out) if wrap_blocks: out = "<p>" + "</p><p>".join(out.split("\n\n")) + "</p>" return out