summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralex <alex@pdp7.net>2023-09-17 18:25:58 +0200
committeralex <alex@pdp7.net>2023-09-17 18:25:58 +0200
commitf50354f420d778cb3a73809824c8a40194596fb8 (patch)
tree92bf97eb69ad50660a1dbc9e391b8384e5a53c1a
parent047cfc35db5bdd438de6cea7f67be8b1a171f4a7 (diff)
Test blog rendering, handle pre and multiline blockquotes
-rw-r--r--blog_experiment/blog/blog_pages.py14
-rw-r--r--blog_experiment/test_html_rendering.py10
2 files changed, 22 insertions, 2 deletions
diff --git a/blog_experiment/blog/blog_pages.py b/blog_experiment/blog/blog_pages.py
index f4124d02..02170cb7 100644
--- a/blog_experiment/blog/blog_pages.py
+++ b/blog_experiment/blog/blog_pages.py
@@ -64,8 +64,12 @@ class Entry:
continue
if isinstance(gem_element, gemtext.BlockQuote):
- assert len(gem_element.lines) == 1
- result.append(h.BLOCKQUOTE(gem_element.lines[0].text))
+ content = []
+ for line in gem_element.lines:
+ if line.text:
+ content.append(line.text)
+ content.append(h.BR)
+ result.append(h.BLOCKQUOTE(*content))
i = i + 1
continue
@@ -82,6 +86,12 @@ class Entry:
break
result.append(h.P(*paragraph))
continue
+
+ if isinstance(gem_element, gemtext.Pre):
+ result.append(h.PRE(gem_element.content))
+ i = i + 1
+ continue
+
assert False, f"unknown element {gem_element}"
return result
diff --git a/blog_experiment/test_html_rendering.py b/blog_experiment/test_html_rendering.py
new file mode 100644
index 00000000..71bdd399
--- /dev/null
+++ b/blog_experiment/test_html_rendering.py
@@ -0,0 +1,10 @@
+import pathlib
+
+import pytest
+
+from blog import blog_pages
+
+
+@pytest.mark.parametrize("entry", list(pathlib.Path("content").glob("*/*/*.gmi")))
+def test_html_rendering(entry):
+ blog_pages.Entry(entry).html()