added markdown extensions, disables indented code blocks

This commit is contained in:
Daniel Fichtinger 2025-07-05 16:34:47 -04:00
parent 85fa619828
commit 47be4986a5

View file

@ -10,12 +10,19 @@ from zona.layout import Layout
from markdown.treeprocessors import Treeprocessor
from markdown.extensions.codehilite import CodeHiliteExtension
from markdown.extensions.extra import ExtraExtension
from markdown.extensions.smarty import SmartyExtension
from markdown.extensions.sane_lists import SaneListExtension
from markdown.extensions.md_in_html import MarkdownInHtmlExtension
from pymdownx.inlinehilite import InlineHiliteExtension
from pymdownx.escapeall import EscapeAllExtension
from pymdownx.betterem import BetterEmExtension
from pymdownx.superfences import SuperFencesCodeExtension
from markdown.extensions.footnotes import FootnoteExtension
from markdown.extensions.attr_list import AttrListExtension
from markdown.extensions.def_list import DefListExtension
from markdown.extensions.tables import TableExtension
from markdown.extensions.abbr import AbbrExtension
from markdown.extensions.md_in_html import MarkdownInHtmlExtension
import xml.etree.ElementTree as etree
from zona import util
@ -134,12 +141,20 @@ def md_to_html(
item_map: dict[Path, Item] | None = None,
) -> str:
extensions: Sequence[Any] = [
ExtraExtension(),
BetterEmExtension(),
SuperFencesCodeExtension(
disable_indented_code_blocks=True,
css_class="codehilite",
),
FootnoteExtension(),
AttrListExtension(),
DefListExtension(),
TableExtension(),
AbbrExtension(),
SmartyExtension(),
"pymdownx.tilde",
"pymdownx.caret",
"pymdownx.smartsymbols",
InlineHiliteExtension(css_class="codehilite"),
SaneListExtension(),
MarkdownInHtmlExtension(),
EscapeAllExtension(hardbreak=True),
@ -149,12 +164,15 @@ def md_to_html(
"tab_length": 2,
}
if config:
kwargs["extensions"].append(
kwargs["extensions"].extend(
[
CodeHiliteExtension(
linenums=False,
noclasses=False,
pygments_style=config.markdown.syntax_highlighting.theme,
)
),
InlineHiliteExtension(css_class="codehilite"),
]
)
kwargs["tab_length"] = config.markdown.tab_length
md = Markdown(**kwargs)