From 0940472410240da5b7a7703aacb0c3945cbe7820 Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Thu, 3 Jul 2025 02:03:33 -0400 Subject: [PATCH] implement syntax_highlighting.enabled --- src/zona/builder.py | 10 ++++++---- src/zona/config.py | 10 +--------- src/zona/markdown.py | 4 ++-- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/src/zona/builder.py b/src/zona/builder.py index 2c3222f..0060c61 100644 --- a/src/zona/builder.py +++ b/src/zona/builder.py @@ -96,11 +96,13 @@ class ZonaBuilder: self.item_map = { item.source.resolve(): item for item in self.items } + # write code highlighting stylesheet - pygments_style = zmd.get_style_defs(self.config) - (self.layout.content / "static" / "pygments.css").write_text( - pygments_style - ) + if self.config.markdown.syntax_highlighting.enabled: + pygments_style = zmd.get_style_defs(self.config) + (self.layout.content / "static" / "pygments.css").write_text( + pygments_style + ) for item in self.item_map.values(): dst = item.destination # print(item) diff --git a/src/zona/config.py b/src/zona/config.py index db0d5fe..90b1488 100644 --- a/src/zona/config.py +++ b/src/zona/config.py @@ -37,11 +37,6 @@ class MarkdownConfig: ) -@dataclass -class ThemeConfig: - name: str = "default" - - @dataclass class BuildConfig: clean_output_dir: bool = True @@ -53,15 +48,12 @@ IGNORELIST = [".git", ".env", "*/.marksman.toml"] @dataclass class ZonaConfig: - title: str = "Zona Blog" - base_url: str = "https://example.com" - language: str = "en" + base_url: str = "/" # dictionary where key is name, value is url sitemap: SitemapConfig = field(default_factory=lambda: {"Home": "/"}) # list of globs relative to content that should be ignored ignore: list[str] = field(default_factory=lambda: IGNORELIST) markdown: MarkdownConfig = field(default_factory=MarkdownConfig) - theme: ThemeConfig = field(default_factory=ThemeConfig) build: BuildConfig = field(default_factory=BuildConfig) blog: BlogConfig = field(default_factory=BlogConfig) diff --git a/src/zona/markdown.py b/src/zona/markdown.py index a9e87ba..94c2015 100644 --- a/src/zona/markdown.py +++ b/src/zona/markdown.py @@ -87,10 +87,10 @@ class ZonaRenderer(HTMLRenderer): def render_fenced_code(self, element: FencedCode): assert self.config config = self.config.markdown.syntax_highlighting + if not config.enabled: + return super().render_fenced_code(element) code = "".join(child.children for child in element.children) # type: ignore lang = element.lang or "text" - if not config.enabled: - return f"
{code}
" try: lexer = get_lexer_by_name(lang, stripall=False)