diff options
| author | alex <alex@pdp7.net> | 2023-09-17 18:25:58 +0200 |
|---|---|---|
| committer | alex <alex@pdp7.net> | 2023-09-17 18:25:58 +0200 |
| commit | f50354f420d778cb3a73809824c8a40194596fb8 (patch) | |
| tree | 92bf97eb69ad50660a1dbc9e391b8384e5a53c1a | |
| parent | 047cfc35db5bdd438de6cea7f67be8b1a171f4a7 (diff) | |
Test blog rendering, handle pre and multiline blockquotes
| -rw-r--r-- | blog_experiment/blog/blog_pages.py | 14 | ||||
| -rw-r--r-- | blog_experiment/test_html_rendering.py | 10 |
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() |
