fix markdown extension loading

This commit is contained in:
Daniel Fichtinger 2025-07-05 02:28:34 -04:00
parent 064bc8fc84
commit 4ad4696962
2 changed files with 25 additions and 28 deletions

View file

@ -51,7 +51,7 @@ reportUnusedCallResult = false
reportCallInDefaultInitializer = false
enableTypeIgnoreComments = true
reportIgnoreCommentWithoutRule = false
allowedUntypedLibraries = ["frontmatter", "pygments"]
allowedUntypedLibraries = ["frontmatter", "pygments", "pymdownx"]
[tool.ruff]
line-length = 70

View file

@ -1,11 +1,10 @@
from markdown import Markdown
from collections.abc import Sequence
from rich import print
from markdown import Markdown
from typing import Any, override
from pathlib import Path
from marko.inline import Link, Image
from marko.block import FencedCode
from marko.html_renderer import HTMLRenderer
from marko.parser import Parser
from pygments.formatters.html import HtmlFormatter
from zona.config import ZonaConfig
from zona.layout import Layout
@ -14,14 +13,11 @@ 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
import xml.etree.ElementTree as etree
from pygments import highlight
from pygments.lexers import get_lexer_by_name, TextLexer
from pygments.formatters import HtmlFormatter
from zona import util
from zona.models import Item
from zona.log import get_logger
@ -137,14 +133,7 @@ def md_to_html(
layout: Layout | None = None,
item_map: dict[Path, Item] | None = None,
) -> str:
if config:
md = Markdown(
extensions=[
CodeHiliteExtension(
linenums=False,
noclasses=False,
pygments_style=config.markdown.syntax_highlighting.theme,
),
extensions: Sequence[Any] = [
ExtraExtension(),
SmartyExtension(),
"pymdownx.tilde",
@ -152,10 +141,18 @@ def md_to_html(
"pymdownx.smartsymbols",
InlineHiliteExtension(css_class="codehilite"),
SaneListExtension(),
MarkdownInHtmlExtension(),
EscapeAllExtension(hardbreak=True),
]
if config:
extensions.append(
CodeHiliteExtension(
linenums=False,
noclasses=False,
pygments_style=config.markdown.syntax_highlighting.theme,
)
else:
md = Markdown()
)
md = Markdown(extensions=extensions)
if resolve_links:
if source is None or layout is None or item_map is None:
raise TypeError(