Mercurial > libervia-templates
view sat_templates/templates/default/blog/macros.html @ 413:0190a0d32909 default tip
Forum: Major redesign of forums:
Forums have been redesigned. They follow the new general design with 2 or 3 panels,
allowing to have directly a forum if one is found/set up, and a panel on the left to
search/discover other ones.
Categories have been rewritten to be usable with pubsub relationships, a XEP-0277 type
node is used for topics, and each item has a comments node for the threads.
The thread view is set in `forum/show_messages.html` template. It has a header with a
search box and a button to (un)subscribe.
Items are displayed with the same macros as for the blog items.
Below a room is set for editor, tags and attachments.
rel 463
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 05 Sep 2025 21:54:09 +0200 |
parents | 178f55b825b7 |
children |
line wrap: on
line source
{% import 'input/textbox.html' as textbox with context %} {% macro show_items(items, comment=False, expanded=false, dates_fmt=none) %} {# show items and comments items if present after each item, then post form if allow_commenting is set @param items(BlogItems): items to show @param comment(bool): True items are comments if False, a div with "main_article" class will be added @param expanded(bool): initial state of items #} {% if dates_format is undefined %} {% set dates_format = dates_fmt or 'short' %} {% endif %} {% for item in items %} {% if not comment %}<div class="main_article">{% endif %} {% include 'blog/item.html' %} {% if not comment %}</div>{% endif %} {# we recursively display comments for all comments nodes (usually there's only one) #} {% for comments_items in item.comments_items_list %} <div class="box box__under box--large"> <button class="btn-fold" onclick="clicked_mh_fix('{{'comments_panel'|next_gidx}}');clicked_cls(this)"> <span class='show_if_parent_not_clicked'>{% trans %}show comments{% endtrans %}</span> <span class='show_if_parent_clicked'>{% trans %}hide comments{% endtrans %}</span> ({{comments_items|count}}) </button> </div> <div id="{{'comments_panel'|cur_gidx}}" class="panel-drawer"> {% if allow_commenting %} <div class="comment_post"> {{- textbox.comment(service=comments_items.service, node=comments_items.node) -}} </div> {% endif %} <div class="comments"> {{show_items(comments_items, comment=True)}} </div> </div> {% endfor %} {% endfor %} {% endmacro %}