| {%- macro render_comment(comment, is_reply) -%} .comment-container( id="{{ comment._id }}", data-node-id="{{ comment._id }}", class="{% if is_reply %}is-reply{% else %}is-first{% endif %}") .comment-header .comment-avatar img(src="{{ comment._user.email | gravatar }}") .comment-author(class="{% if comment._is_own %}own{% endif %}") | {{ comment._user.full_name }} span.username ({{ comment._user.username }}) .comment-time {{ comment._created | pretty_date_time }} {% if comment._created != comment._updated %} (edited {{ comment._updated | pretty_date_time }}){% endif %} .comment-content {{comment.properties.content_html | safe }} | {% if comment._is_own %} .comment-content-preview | {% endif %} .comment-meta .comment-rating( class="{% if comment._current_user_rating is not none %}rated{% if comment._current_user_rating %} positive{% endif %}{% endif %}") .comment-rating-value(title="Number of likes") {{ rating }} | {% if not comment._is_own %} .comment-action-rating.up(title="Like comment") | {% endif %} .comment-action-reply(title="Reply to this comment") span reply | {% if comment._is_own %} .comment-action-edit span.edit_mode(title="Edit comment") edit span.edit_save(title="Save comment") i.pi-check | save changes span.edit_cancel(title="Cancel changes") i.pi-cancel | cancel | {% endif %} | {% for reply in comment['_replies']['_items'] %} | {{ render_comment(reply, True) }} | {% endfor %} | {%- endmacro -%}