aboutsummaryrefslogtreecommitdiff
path: root/templates/shortcodes/imgswap.html
blob: 80a3b74458c263db9f48ae017425a4f892e7f476 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<div class="img-swap-div">
  {%- set img = main_src | split(pat="/") | last %}
  {%- set dirtest = main_src | trim_start_matches(pat="./") %}
  {%- if dirtest is containing("/") %} {%- set reldir = true %} {%- endif %}
  {%- if page.path %}{%- set pagepath = page.path %}{%- elif section.path %}{%- set pagepath = section.path %}{%- endif %}

  {%- if main_src is starting_with("./") and reldir %} {# Relative Path #}
    {%- set path = main_src | trim_start_matches(pat="./") | split(pat="/") | slice(end=-1) | join(sep="/") | trim_start_matches(pat="/") %}
    {%- set path = path ~ "/" %}
    {%- if not w or not h %}
      {%- if lang != config.default_language %}
        {%- set metapath = pagepath ~ path ~ img | replace(from=pagepath | truncate(length=4, end=""), 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("/") %} {# Root Path #}
    {%- set rootpath = main_src | split(pat="/") | slice(end=-1) | join(sep="/") %}
    {%- set path = config.base_url ~ 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 lang != config.default_language %}
        {%- set metapath = pagepath ~ img | replace(from=pagepath | truncate(length=4, end=""), 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 %}
  <img src="{{ path | safe }}{{ img | safe }}" class="img-main{% if class %} {{class}}{% endif %}"{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} loading="lazy" />

  {%- set img = swap_src | split(pat="/") | last %}
  {%- set dirtest = swap_src | trim_start_matches(pat="./") %}
  {%- if dirtest is containing("/") %} {%- set reldir = true %} {%- endif %}

  {%- if swap_src is starting_with("./") and reldir %} {# Relative Path #}
    {%- set path = swap_src | trim_start_matches(pat="./") | split(pat="/") | slice(end=-1) | join(sep="/") | trim_start_matches(pat="/") %}
    {%- set path = path ~ "/" %}
    {%- if not w or not h %}
      {%- if lang != config.default_language %}
        {%- set metapath = pagepath ~ path ~ img | replace(from=pagepath | truncate(length=4, end=""), 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("/") %} {# Root Path #}
    {%- set rootpath = swap_src | split(pat="/") | slice(end=-1) | join(sep="/") %}
    {%- set path = config.base_url ~ 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 lang != config.default_language %}
        {%- set metapath = pagepath ~ img | replace(from=pagepath | truncate(length=4, end=""), 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 %}
  <img src="{{ path | safe }}{{ img | safe }}" class="img-swap{% if class %} {{class}}{% endif %}"{% if alt %} alt="{{alt}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} loading="lazy" />
</div>