diff --git a/src/server.py b/src/server.py index d43e1c7..f9f8e29 100644 --- a/src/server.py +++ b/src/server.py @@ -160,6 +160,8 @@ def create_image_client(url, timeout): app.ext.environment.globals["format_npf"] = ext_npf_renderer.format_npf app.ext.environment.globals["create_poll_callback"] = helpers.create_poll_callback + app.ext.environment.tests["a_post"] = lambda element : isinstance(element, priviblur_extractor.models.timeline.TimelinePost) + @app.listener("main_process_start") async def main_startup_listener(app): diff --git a/src/templates/components/blog_contents.jinja b/src/templates/components/blog_contents.jinja index 7cbb65f..6f106d6 100644 --- a/src/templates/components/blog_contents.jinja +++ b/src/templates/components/blog_contents.jinja @@ -1,7 +1,2 @@ -
-{%- for element in blog.posts -%} - {%- if not element.is_advertisement -%} - {%- include 'components/post.jinja' -%} - {%- endif -%} -{%- endfor -%} -
+{% from 'macros/insert_content_list.jinja' import insert_content_list with context %} +{{-insert_content_list("blog-posts", blog.posts)}} diff --git a/src/templates/macros/insert_content_list.jinja b/src/templates/macros/insert_content_list.jinja new file mode 100644 index 0000000..2bb2cb7 --- /dev/null +++ b/src/templates/macros/insert_content_list.jinja @@ -0,0 +1,11 @@ +{%- macro insert_content_list(content_list_cls, raw_content_list) -%} +
+{%- for element in raw_content_list -%} + {% if element is a_post %} + {%- if not element.is_advertisement -%} + {%- include 'components/post.jinja' -%} + {%- endif -%} + {% endif %} +{%- endfor -%} +
+{%-endmacro-%} \ No newline at end of file diff --git a/src/templates/timeline.jinja b/src/templates/timeline.jinja index 2f8ee31..7cb57b3 100644 --- a/src/templates/timeline.jinja +++ b/src/templates/timeline.jinja @@ -1,4 +1,5 @@ {% extends "base.jinja" %} +{% from 'macros/insert_content_list.jinja' import insert_content_list with context %} {% block title %}{{title}}{% endblock%} {% block center %} @@ -7,13 +8,7 @@ {% endblock %} -
- {%- for element in timeline.elements -%} - {%- if not element.is_advertisement -%} - {%- include 'components/post.jinja' -%} - {%- endif -%} - {%- endfor -%} -
+ {{insert_content_list("timeline", timeline.elements)}} {%- if timeline.next %}