{% macro feed_post(feedItem, selfDID, primary) export %} {% if primary %}
{% else %}
{% endif %}
{% if feedItem.Post.Author.Avatar %} {% else %} {% endif %}
{% if feedItem.Reason %} {{ feedItem.Reason.FeedDefs_ReasonRepost }} {% endif %}
{% if feedItem.Post.Author.Did == selfDID %} {% else %} {% endif %} {% if feedItem.Post.Author.DisplayName %} {{ feedItem.Post.Author.DisplayName }} {% else %} {% endif %} @{{ feedItem.Post.Author.Handle }}
{# TODO: relative time#} {# TODO: parse and fix link (custom filter?) #} {% if feedItem.Post.Author.Did == selfDID %} {{ feedItem.Post.IndexedAt }} {% else %} {{ feedItem.Post.IndexedAt }} {% endif %}
{{ feedItem.Post.Record.Val.Text }} {% if feedItem.Post.Embed and feedItem.Post.Embed.EmbedImages_View %}
{% for image in feedItem.Post.Embed.EmbedImages_View.Images %} {% endfor %}
{% endif %}
{% if primary %} {% endif %} {% endmacro %} {% macro thread_parents(post, selfDID, primary) export %} {% if post.Parent %} {{ thread_parents(post.Parent.FeedDefs_ThreadViewPost, selfDID, false) }}
{% endif %} {{ feed_post(post, selfDID, primary) }} {% endmacro %} {% macro thread_children(post, selfDID) export %} {% for child in post.Replies %}
{{ feed_post(child.FeedDefs_ThreadViewPost, selfDID) }} {{ thread_children(child.FeedDefs_ThreadViewPost, selfDID) }} {% endfor %} {% endmacro %}