From: alex Date: Sun, 17 Sep 2023 16:25:58 +0000 (+0200) Subject: Test blog rendering, handle pre and multiline blockquotes X-Git-Tag: 20240214-emacs~270 X-Git-Url: https://xn--ix-yja.es/gitweb/?a=commitdiff_plain;h=f50354f420d778cb3a73809824c8a40194596fb8;p=alex.git Test blog rendering, handle pre and multiline blockquotes --- diff --git a/blog_experiment/blog/blog_pages.py b/blog_experiment/blog/blog_pages.py index f4124d0..02170cb 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 0000000..71bdd39 --- /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()