added hard line breaks support
This commit is contained in:
@@ -60,10 +60,14 @@ def convert_markdown(
|
||||
context: str,
|
||||
issues: list[ValidationIssue],
|
||||
renderer: str = "default",
|
||||
hard_line_breaks: bool = False,
|
||||
) -> str | None:
|
||||
if renderer == "default":
|
||||
try:
|
||||
return md_lib.markdown(markdown_text, extensions=["extra"], output_format="html5")
|
||||
extensions = ["extra"]
|
||||
if hard_line_breaks:
|
||||
extensions.append("nl2br")
|
||||
return md_lib.markdown(markdown_text, extensions=extensions, output_format="html5")
|
||||
except Exception as exc: # pragma: no cover - depends on markdown internals
|
||||
issues.append(ValidationIssue(f"Markdown conversion failed: {exc}", context=context))
|
||||
return None
|
||||
@@ -78,14 +82,17 @@ def convert_markdown(
|
||||
issues.append(ValidationIssue("py-gfm extension not found: GithubFlavoredMarkdownExtension", context=context))
|
||||
return None
|
||||
try:
|
||||
return md_lib.markdown(markdown_text, extensions=[extension_class()], output_format="html5")
|
||||
extensions = [extension_class()]
|
||||
if hard_line_breaks:
|
||||
extensions.append("nl2br")
|
||||
return md_lib.markdown(markdown_text, extensions=extensions, output_format="html5")
|
||||
except Exception as exc: # pragma: no cover - depends on markdown internals
|
||||
issues.append(ValidationIssue(f"Markdown conversion failed: {exc}", context=context))
|
||||
return None
|
||||
if renderer == "pandoc":
|
||||
try:
|
||||
result = subprocess.run(
|
||||
["pandoc", "--from=markdown", "--to=html5"],
|
||||
["pandoc", f"--from={'markdown+hard_line_breaks' if hard_line_breaks else 'markdown'}", "--to=html5"],
|
||||
input=markdown_text,
|
||||
text=True,
|
||||
capture_output=True,
|
||||
|
||||
Reference in New Issue
Block a user