From f50354f420d778cb3a73809824c8a40194596fb8 Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 17 Sep 2023 18:25:58 +0200 Subject: [PATCH] Test blog rendering, handle pre and multiline blockquotes --- blog_experiment/blog/blog_pages.py | 14 ++++++++++++-- blog_experiment/test_html_rendering.py | 10 ++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 blog_experiment/test_html_rendering.py 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() -- 2.47.3