{% component imgswap(page, config, main_src, swap_src, caption="", class="", alt="", w=0, h=0) %}
{%- set img = main_src | split(pat="/") | last %} {%- set dirtest = main_src | trim_start(pat="./") %} {%- if dirtest is containing(pat="/") %} {%- set reldir = true %} {%- endif %} {%- if page and page.path %}{%- set pagepath = page.path %}{%- elif section and section.path %}{%- set pagepath = section.path %}{%- endif %} {%- if main_src is starting_with(pat="./") and reldir %} {# Relative Path #} {%- set path = (main_src | trim_start(pat="./") | split(pat="/"))[:-1] | join(sep="/") | trim_start(pat="/") -%} {%- set path = path ~ "/" %} {%- if not w or not h %} {%- if page.lang != config.default_language %} {%- set metapath = (pagepath ~ path ~ img) | replace(from="/" ~ page.lang ~ "/", to="/") %} {%- else %} {%- set metapath = pagepath ~ path ~ img %} {%- endif %} {%- set meta = get_image_metadata(path=metapath) %} {%- set w = meta.width %} {%- set h = meta.height %} {%- endif %} {%- elif main_src is starting_with(pat="/") %} {# Root Path #} {%- set rootpath = (main_src | split(pat="/"))[:-1] | join(sep="/") -%} {%- set path = (config.base_url if config else "") ~ rootpath ~ "/" %} {%- if not w or not h %} {%- set metapath = rootpath ~ "/" ~ img %} {%- set meta = get_image_metadata(path=metapath) %} {%- set w = meta.width %} {%- set h = meta.height %} {%- endif %} {%- else %} {# Same Directory Path #} {%- set path = "" %} {%- if not w or not h %} {%- if page.lang != config.default_language %} {%- set metapath = (pagepath ~ img) | replace(from="/" ~ page.lang ~ "/", to="/") %} {%- else %} {%- set metapath = pagepath ~ img %} {%- endif %} {%- set meta = get_image_metadata(path=metapath) %} {%- set w = meta.width %} {%- set h = meta.height %} {%- endif %} {%- endif %} {%- if not alt %} {%- set alt = img | split(pat=".") | first %} {%- endif %} {%- if caption %}
{% endif %} {%- if link %}{% endif %}{% if link %}{% endif %} {%- if caption %}
{{caption}}
{%- endif %} {%- set img = swap_src | split(pat="/") | last %} {%- set dirtest = swap_src | trim_start(pat="./") %} {%- if dirtest is containing(pat="/") %} {%- set reldir = true %} {%- endif %} {%- if swap_src is starting_with(pat="./") and reldir %} {# Relative Path #} {%- set path = (swap_src | trim_start(pat="./") | split(pat="/"))[:-1] | join(sep="/") | trim_start(pat="/") -%} {%- set path = path ~ "/" %} {%- if not w or not h %} {%- if page.lang != config.default_language %} {%- set metapath = (pagepath ~ path ~ img) | replace(from="/" ~ page.lang ~ "/", to="/") %} {%- else %} {%- set metapath = pagepath ~ path ~ img %} {%- endif %} {%- set meta = get_image_metadata(path=metapath) %} {%- set w = meta.width %} {%- set h = meta.height %} {%- endif %} {%- elif swap_src is starting_with(pat="/") %} {# Root Path #} {%- set rootpath = (swap_src | split(pat="/"))[:-1] | join(sep="/") -%} {%- set path = (config.base_url if config else "") ~ rootpath ~ "/" %} {%- if not w or not h %} {%- set metapath = rootpath ~ "/" ~ img %} {%- set meta = get_image_metadata(path=metapath) %} {%- set w = meta.width %} {%- set h = meta.height %} {%- endif %} {%- else %} {# Same Directory Path #} {%- set path = "" %} {%- if not w or not h %} {%- if page.lang != config.default_language %} {%- set metapath = (pagepath ~ img) | replace(from="/" ~ page.lang ~ "/", to="/") %} {%- else %} {%- set metapath = pagepath ~ img %} {%- endif %} {%- set meta = get_image_metadata(path=metapath) %} {%- set w = meta.width %} {%- set h = meta.height %} {%- endif %} {%- endif %} {%- if not alt %} {%- set alt = img | split(pat=".") | first %} {%- endif %} {%- if caption %}
{% endif %} {%- if link %}{% endif %}{% if link %}{% endif %} {%- if caption %}
{{caption}}
{%- endif %}
{% endcomponent imgswap %}