{# Specific extensions, then specific mimetypes, then general mimtypes #} {% set thumbnails = { "svg": "svg", "application/zip": "archive", "application/x-tar": "archive", "archive": "archive", "audio": "audio", "image": "image", "video": "video", "text": "txt", } %} {% macro create_photo_card(photo, view="grid") %} {% if view == "list" %}
{{photo.basename}} {{photo.bytestring}}
{% else -%} {% if photo.thumbnail %} {% set thumbnail_src = "/thumbnail/" + photo.id + ".jpg" %} {% else %} {% set thumbnail_src = thumbnails.get(photo.extension, "") or thumbnails.get(photo.mimetype, "") or thumbnails.get(photo.simple_mimetype, "") or "other" %} {% set thumbnail_src = "/static/basic_thumbnails/" + thumbnail_src + ".png" %} {% endif -%} {% set tag_names_title = [] %} {% for tag in photo.get_tags() %} {% do tag_names_title.append(tag.name) %} {% endfor -%} {% set tag_names_title = ", ".join(tag_names_title) %} {% if tag_names_title %} {% set tag_names_inner = "T" %} {% else %} {% set tag_names_inner = "" %} {% endif -%} {% set metadata_inner = "" %} {% if photo.width %} {% set metadata_inner = "{m}{w}×{h}, ".format(m=metadata_inner, w=photo.width, h=photo.height) %} {% endif %} {% if photo.duration %} {% set metadata_inner = "{m}{d}, ".format(m=metadata_inner, d=photo.duration_string) %} {% endif -%}
{{photo.basename}}
{{tag_names_inner}} {{- metadata_inner|safe -}} {{photo.bytestring}}
{% endif %} {% endmacro %}