zola-inky-fork/templates/macros/images.html
2023-02-01 17:58:59 +00:00

47 lines
No EOL
2.3 KiB
HTML

{% extends "base.html" %}
{#
Original author: crepererum https://github.com/getzola/even/pull/48/files
Adapted to Inky template by jimmyff
#}
{% macro responsive_image(path, src, alt, default_size, sizes) %}
{% if config.extra.image_resizing_disabled and config.extra.image_resizing_disabled == true %}
<img alt="{{ alt }}" src="{{ src | safe }}" />
{% else %}
{% set abspath = "./" ~ path ~ src %}
{% set meta = get_image_metadata(path=abspath) %}
{% set width = meta.width %}
{% set srcset_list = [] %}
{% for s in sizes %}
{% if width >= s %}
{% set resized = resize_image(format=config.extra.image_format, path=abspath, width=s, op="fit_width", quality=config.extra.image_quality) %}
{% set element = resized.url ~ " " ~ s ~ "w" %}
{% set_global srcset_list = srcset_list | concat(with=[element]) %}
{% endif %}
{% endfor %}
{% set default_resized = resize_image(format=config.extra.image_format, path=abspath, width=default_size, op="fit_width", quality=config.extra.image_quality) %}
<img alt="{{ alt }}" src="{{ default_resized.url | safe }}" srcset="{{ srcset_list | join(sep=", ") | safe }}" />
{% endif %}
{% endmacro responsive_image %}
{% macro responsive_thumbnail(path, src, alt, default_size, sizes) %}
{% if config.extra.image_resizing_disabled and config.extra.image_resizing_disabled == true %}
<img alt="{{ alt }}" src="{{ src | safe }}" />
{% else %}
{% set abspath = "./" ~ path ~ src %}
{% set meta = get_image_metadata(path=abspath) %}
{% set width = meta.width %}
{% set srcset_list = [] %}
{% for s in sizes %}
{% if width >= s %}
{% set resized = resize_image(format=config.extra.image_format, path=abspath, width=s, height=s, op="fill", quality=config.extra.thumbnail_quality) %}
{% set element = resized.url ~ " " ~ s ~ "w" %}
{% set_global srcset_list = srcset_list | concat(with=[element]) %}
{% endif %}
{% endfor %}
{% set default_resized = resize_image(format=config.extra.image_format, path=abspath, width=default_size, height=default_size, op="fill", quality=config.extra.thumbnail_quality) %}
<img alt="{{ alt }}" src="{{ default_resized.url | safe }}" srcset="{{ srcset_list | join(sep=", ") | safe }}" />
{% endif %}
{% endmacro responsive_thumbnail %}