summaryrefslogtreecommitdiff
path: root/themes/tabi-lean/templates/shortcodes/dimmable_image.html
blob: a72720cb577843bfc7c83778a0dfc5e226f69fa2 (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
{#- Determine image path based on whether the src is remote or local -#}
{%- if src is starting_with("http") or raw_path -%}
    {%- set image_url = src -%}
{%- else -%}
    {%- set colocated_path = page.colocated_path | default(value="") -%}
    {%- set relative_path = colocated_path ~ src -%}
    {%- set meta = get_image_metadata(path=relative_path, allow_missing=true) -%}

    {#- Fallback to absolute path if relative path doesn't work -#}
    {%- if not meta -%}
        {%- set meta = get_image_metadata(path=src, allow_missing=true) -%}
        {%- set image_url = get_url(path=src, cachebust=true) -%}
    {%- else -%}
        {%- set image_url = get_url(path=relative_path, cachebust=true) -%}
    {%- endif -%}
{%- endif -%}

{%- set lazy_loading = lazy_loading | default(value=true) -%}

{%- set class_list = "dimmable-image" -%}
{%- if inline -%}
    {%- set class_list = class_list ~ " inline" -%}
{%- endif -%}

{%- if full_width -%}
    <div class="full-width">
{%- endif -%}
<img class="{{ class_list }}" src="{{ image_url }}"{% if lazy_loading %} loading="lazy"{% endif %}{% if alt %} alt="{{ alt }}"{% endif %}{% if meta.width %} width="{{ meta.width }}"{% endif %}{% if meta.height %} height="{{ meta.height }}" {% endif %}/>
{%- if full_width -%}
    </div>
{%- endif -%}