Pi66

Home | Repos | About | Blog | Gaza

merodi
A markdown-based static site generator.
git clone https://git.pi66.xyz/merodi

About | Files | Commits | Refs | License


fix: patch attr_list to use [ ] instead of { } to avoid Jinja2 conflicts

Author: pi66
Date: 2026-06-26 01:04
commit: 3736c27f

Stat

M src/build.py 15 +12 -3

Diff

diff --git a/src/build.py b/src/build.py
index 77b96b0..5802c12 100644
--- a/src/build.py
+++ b/src/build.py
@@ -1,14 +1,23 @@
+import importlib.util
+import re
+
+from jinja2 import Environment, FileSystemLoader
+from markdown import markdown
+from markdown.extensions.attr_list import AttrListTreeprocessor
 from os import getcwd, makedirs, path, walk
 from os.path import abspath, dirname
-from markdown import markdown
-from jinja2 import Environment, FileSystemLoader
-import importlib.util

from .config import find_project_from_path, load_tree_config from .errors import fatal, html_fatal from .fileops import read_file, write_file ...

Show all

diff --git a/src/build.py b/src/build.py
index 77b96b0..5802c12 100644
--- a/src/build.py
+++ b/src/build.py
@@ -1,14 +1,23 @@
+import importlib.util
+import re
+
+from jinja2 import Environment, FileSystemLoader
+from markdown import markdown
+from markdown.extensions.attr_list import AttrListTreeprocessor
 from os import getcwd, makedirs, path, walk
 from os.path import abspath, dirname
-from markdown import markdown
-from jinja2 import Environment, FileSystemLoader
-import importlib.util

from .config import find_project_from_path, load_tree_config from .errors import fatal, html_fatal from .fileops import read_file, write_file from .log import GRAY, info

+# patch [ ] instead of { } +AttrListTreeprocessor.BASE_RE = r'&#91;:?[ ]*([^&#93;\n ][^\n]*)[ ]*&#93;' +AttrListTreeprocessor.BLOCK_RE = re.compile(r'\n[ ]*{}[ ]*$'.format(AttrListTreeprocessor.BASE_RE)) +AttrListTreeprocessor.HEADER_RE = re.compile(r'[ ]+{}[ ]*$'.format(AttrListTreeprocessor.BASE_RE)) +AttrListTreeprocessor.INLINE_RE = re.compile(r'^{}'.format(AttrListTreeprocessor.BASE_RE)) + replace_filters = [ ("<p>{%" , "{%" ), ("%}</p>", "%}" ),

// Created by Pi66

// Copyright ©Pi66 2026