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