summaryrefslogtreecommitdiff
path: root/source/_includes/image.html
blob: a9bc3fd2fb4731765da9abd44c722759e5605fdb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{% assign name_dot_format = include.file | split: "." %}
{% assign name   = name_dot_format | first %}
{% assign format = name_dot_format | last  %}

{% comment %} Let 'suffix' = last 4 chars of 'name', 'prefix' = the rest {% endcomment %}
{% assign  suffix = name | slice: -4, 4 %}
{% assign rname   = name | split: "" | reverse | join: "" %}
{% assign rsuffix = suffix | split: "" | reverse | join: "" %}
{% assign rprefix = rname | remove_first: rsuffix %}
{% assign  prefix = rprefix | split: "" | reverse | join: "" %}

{% comment %} If 'name' ends in "full", half-size image must exist {% endcomment %}
{% assign name_full = name %}
{% if suffix == "full" %}
  {% assign name_half = prefix | append: "half" %}
{% else %}
  {% assign name_half = name_full %}
{% endif %}

{% comment %} Insert the image, linking to the full-size version {% endcomment %}
<p>
<a href="{{ name_full }}.{{ format }}">
 {% assign set_width = "width:" | append: include.width %}
 <picture markdown="0">
  <source srcset="{{ name_half }}.avif" type="image/avif">
  {% if name_full == name_half %}
   <img src="{{ name_half }}.{{ format }}" style="{{ include.style | default: set_width }}" alt="{{ include.alt }}" title="{{ include.alt }}">
  {% else %}
   <source srcset="{{ name_half }}.webp" type="image/webp">
   <img src="{{ name_half }}.jpg" style="{{ include.style | default: set_width }}" alt="{{ include.alt }}" title="{{ include.alt }}">
  {% endif %}
 </picture>
</a>
</p>