Verified Commit 62613d63 authored by Jakob Moser's avatar Jakob Moser
Browse files

Add basic Markdown to HTML conversion step

parent b5438336
Loading
Loading
Loading
Loading
+0 −0

Empty file added.

+28 −0
Original line number Diff line number Diff line
import subprocess

PANDOC_EXECUTABLE = "pandoc"
ACTIVE_MARKDOWN_EXTENSIONS = ("autolink_bare_uris", "emoji", "task_lists")

PANDOC_OPTIONS = (
    f"--from=markdown+{'+'.join(ACTIVE_MARKDOWN_EXTENSIONS)}",
    "--to=html",
    "--wrap=none",
)


def md_to_html(markdown: str) -> str:
    """
    Use pandoc to convert the given Markdown string to an HTML string.

    :param markdown: A string containing text in Markdown
    :return: The same text in HTML
    """
    result = subprocess.run(
        (PANDOC_EXECUTABLE, *PANDOC_OPTIONS),
        input=markdown,
        capture_output=True,
        text=True,
        check=True,
    )

    return result.stdout