From eac3eb52abbda793a841c6737b6302c2eb125a93 Mon Sep 17 00:00:00 2001 From: Jon Walton Date: Tue, 4 Jan 2022 00:59:34 +0800 Subject: [PATCH 1/3] add classes to post elements --- ablog/blog.py | 5 ++++- ablog/post.py | 4 ++++ ablog/templates/collection.html | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ablog/blog.py b/ablog/blog.py index b6b39f2f..2f768230 100644 --- a/ablog/blog.py +++ b/ablog/blog.py @@ -435,8 +435,11 @@ def to_html(self, pagename, fulltext=False, drop_h1=True): else: doctree.append(deepcopy) else: + excerpt_container = nodes.container() + excerpt_container.attributes["classes"].append("ablog-post-excerpt") for node in self.excerpt: - doctree.append(node.deepcopy()) + excerpt_container.append(node.deepcopy()) + doctree.append(excerpt_container) app = self._blog.app revise_pending_xrefs(doctree, pagename) app.env.resolve_references(doctree, pagename, app.builder) diff --git a/ablog/post.py b/ablog/post.py index a1149643..1b965389 100644 --- a/ablog/post.py +++ b/ablog/post.py @@ -507,6 +507,7 @@ def process_postlist(app, doctree, docname): bl.attributes["classes"].append("postlist") for post in posts: bli = nodes.list_item() + bli.attributes["classes"].append("ablog-post") bl.append(bli) par = nodes.paragraph() bli.append(par) @@ -535,6 +536,7 @@ def process_postlist(app, doctree, docname): ref["names"] = [] ref["internal"] = True ref.append(nodes.Text(text_type(item))) + par.attributes["classes"].append("ablog-post-title") else: ref = _missing_reference(app, item.xref, docname) par.append(ref) @@ -543,6 +545,7 @@ def process_postlist(app, doctree, docname): if excerpts and post.excerpt: for enode in post.excerpt: enode = enode.deepcopy() + enode.attributes["classes"].append("ablog-post-excerpt") revise_pending_xrefs(enode, docname) app.env.resolve_references(enode, docname, app.builder) enode.parent = bli.parent @@ -550,6 +553,7 @@ def process_postlist(app, doctree, docname): if expand: ref = app.builder.get_relative_uri(docname, post.docname) enode = nodes.paragraph() + enode.attributes["classes"].append("ablog-post-expand") refnode = nodes.reference("", "", internal=True, refuri=ref) innernode = nodes.emphasis(text=expand) refnode.append(innernode) diff --git a/ablog/templates/collection.html b/ablog/templates/collection.html index 102e31cb..405746dc 100644 --- a/ablog/templates/collection.html +++ b/ablog/templates/collection.html @@ -26,8 +26,8 @@

{% endfor %} {% else %} {% for post in collection %} -
-

+
+

{{ post.title }} @@ -44,7 +44,7 @@

{% include "postcard2.html" %} {{ post.to_html(collection.docname) }} -

{{ _("Read more ...") }}

+

{{ _("Read more ...") }}


{% endfor %} {% endif %} From 4ba2d51f4aef09f5f3caa998ba332dc3ff6b7b34 Mon Sep 17 00:00:00 2001 From: Jon Walton Date: Tue, 4 Jan 2022 01:27:39 +0800 Subject: [PATCH 2/3] fix tests --- tests/test_postlist.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_postlist.py b/tests/test_postlist.py index 687e49fe..be598670 100644 --- a/tests/test_postlist.py +++ b/tests/test_postlist.py @@ -19,7 +19,7 @@ def test_postlist(app, status, warning): html = read_text(app.outdir / "postlist.html") assert '
    ' in html - assert '
  • 01 December - post

  • ' in html + assert '
  • 01 December - post

  • ' in html @pytest.mark.sphinx("html", testroot="postlist", confoverrides={"post_date_format_short": "%Y-%m-%d"}) @@ -29,4 +29,4 @@ def test_postlist_date_format_conf(app, status, warning): assert app.statuscode == 0 html = read_text(app.outdir / "postlist.html") - assert '
  • 2020-12-01 - post

  • ' in html + assert '
  • 2020-12-01 - post

  • ' in html From 477feba5070ed6a5184fc1d3f42f542086ace9bc Mon Sep 17 00:00:00 2001 From: Nabil Freij Date: Mon, 3 Jan 2022 09:30:49 -0800 Subject: [PATCH 3/3] Apply suggestions from code review --- tests/test_postlist.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/test_postlist.py b/tests/test_postlist.py index be598670..b47d627a 100644 --- a/tests/test_postlist.py +++ b/tests/test_postlist.py @@ -19,7 +19,10 @@ def test_postlist(app, status, warning): html = read_text(app.outdir / "postlist.html") assert '
      ' in html - assert '
    • 01 December - post

    • ' in html + assert ( + '
    • 01 December - post

    • ' + in html + ) @pytest.mark.sphinx("html", testroot="postlist", confoverrides={"post_date_format_short": "%Y-%m-%d"}) @@ -29,4 +32,7 @@ def test_postlist_date_format_conf(app, status, warning): assert app.statuscode == 0 html = read_text(app.outdir / "postlist.html") - assert '
    • 2020-12-01 - post

    • ' in html + assert ( + '
    • 2020-12-01 - post

    • ' + in html + )