aboutsummaryrefslogtreecommitdiff
path: root/templates
diff options
context:
space:
mode:
Diffstat (limited to 'templates')
-rw-r--r--templates/shortcodes/audio.html30
-rw-r--r--templates/shortcodes/gif.html32
-rw-r--r--templates/shortcodes/image.html66
-rw-r--r--templates/shortcodes/video.html8
4 files changed, 117 insertions, 19 deletions
diff --git a/templates/shortcodes/audio.html b/templates/shortcodes/audio.html
index 2dbce68..2d6eda9 100644
--- a/templates/shortcodes/audio.html
+++ b/templates/shortcodes/audio.html
@@ -1,7 +1,29 @@
-<audio controls>
- {% for source in sources -%}
- {% set type = source | split(pat=".") | last -%}
- <source src="{{ config.base_url | safe }}{{ page.path | safe }}{{ source | safe }}" type="{{ 'audio/' ~ type }}" />
+{%- if caption %}<figure class="fi{% if class %} {{class}}{% endif %}">{% endif -%}
+<audio controls{% if class %} class="{{class}}"{% endif %}{% if autoplay %} autoplay{% endif %}{% if loop %} loop{% endif %}{% if muted %} muted{% endif %}{% if playsinline %} playsinline{% endif %}>
+ {% for src in sources -%}
+
+ {%- set file = src | split(pat="/") | last %}
+ {%- set dirtest = 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 src is starting_with("./") and reldir %}{# Relative Path #}
+ {%- set path = src | trim_start_matches(pat="./") | split(pat="/") | slice(end=-1) | join(sep="/") | trim_start_matches(pat="/") %}
+ {%- set path = path ~ "/" %}
+
+ {%- elif src is starting_with("/") %}{# Root Path #}
+ {%- set rootpath = src | split(pat="/") | slice(end=-1) | join(sep="/") %}
+ {%- set path = config.base_url ~ rootpath ~ "/" %}
+
+ {%- else %}{# Same Directory Path #}
+ {%- set path = "" %}
+
+ {%- endif %}
+
+ {%- set type = src | split(pat=".") | last -%}
+ {%- if type is matching("^mov$") %}{% set type = "quicktime" %}{% endif -%}
+ <source src="{{ path | safe }}{{ file | safe }}" type="{{ 'audio/' ~ type }}" />
{% endfor -%}
Your browser doesn't support the audio tag and/or the audio formats in use here – sorry!
</audio>
+{%- if caption %}<figcaption>{{caption}}</figcaption></figure>{% endif -%}
diff --git a/templates/shortcodes/gif.html b/templates/shortcodes/gif.html
index a49a879..430ba89 100644
--- a/templates/shortcodes/gif.html
+++ b/templates/shortcodes/gif.html
@@ -1,7 +1,29 @@
-<video autoplay loop muted playsinline>
- {% for source in sources -%}
- {% set type = source | split(pat=".") | last -%}
- <source src="{{ config.base_url | safe }}{{ page.path | safe }}{{ source | safe }}" type="{{ 'video/' ~ type }}" />
+{%- if caption %}<figure class="fi{% if class %} {{class}}{% endif %}">{% endif -%}
+<video controls{% if class %} class="{{class}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} autoplay loop muted playsinline>
+ {% for src in sources -%}
+
+ {%- set video = src | split(pat="/") | last %}
+ {%- set dirtest = 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 src is starting_with("./") and reldir %}{# Relative Path #}
+ {%- set path = src | trim_start_matches(pat="./") | split(pat="/") | slice(end=-1) | join(sep="/") | trim_start_matches(pat="/") %}
+ {%- set path = path ~ "/" %}
+
+ {%- elif src is starting_with("/") %}{# Root Path #}
+ {%- set rootpath = src | split(pat="/") | slice(end=-1) | join(sep="/") %}
+ {%- set path = config.base_url ~ rootpath ~ "/" %}
+
+ {%- else %}{# Same Directory Path #}
+ {%- set path = "" %}
+
+ {%- endif %}
+
+ {%- set type = src | split(pat=".") | last -%}
+ {%- if type is matching("^mov$") %}{% set type = "quicktime" %}{% endif -%}
+ <source src="{{ path | safe }}{{ video | safe }}" type="{{ 'video/' ~ type }}" />
{% endfor -%}
- Your browser doesn't support the video tag, which I use in place of .gifs, and/or the video formats in use here – sorry!
+ Your browser doesn't support the video tag and/or the video formats in use here – sorry!
</video>
+{%- if caption %}<figcaption>{{caption}}</figcaption></figure>{% endif -%}
diff --git a/templates/shortcodes/image.html b/templates/shortcodes/image.html
index 4f9d3de..22b8f2d 100644
--- a/templates/shortcodes/image.html
+++ b/templates/shortcodes/image.html
@@ -1,7 +1,61 @@
-<picture>
- {% for source in sources -%}
- {% set type = source | split(pat=".") | last -%}
- <source srcset="{{ config.base_url | safe}}{{ page.path | safe }}{{ source | safe }}" type="{{ 'img/' ~ type }}" />
- {% endfor -%}
- <img src="{{ fpath }}" alt="{{ falt | default(value='Image') }}"{% if fw %} width="{{fw}}"{% endif %}{% if fh %} height="{{fh}}"{% endif %} loading="lazy" />
+{%- if caption %}<figure class="fi{% if class %} {{class}}{% endif %}">{% endif -%}
+<picture{% if class %} class="{{class}}"{% endif %}>
+ {%- for src in sources %}
+
+ {%- set video = src | split(pat="/") | last %}
+ {%- set dirtest = 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 src is starting_with("./") and reldir %}{# Relative Path #}
+ {%- set path = 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 ~ video | replace(from=pagepath | truncate(length=4, end=""), to="/") %}
+ {%- else %}
+ {%- set metapath = pagepath ~ path ~ video %}
+ {%- endif %}
+ {%- set meta = get_image_metadata(path=metapath) %}
+ {%- set w = meta.width %}
+ {%- set h = meta.height %}
+ {%- endif %}
+
+ {%- elif src is starting_with("/") %}{# Root Path #}
+ {%- set rootpath = src | split(pat="/") | slice(end=-1) | join(sep="/") %}
+ {%- set path = config.base_url ~ rootpath ~ "/" %}
+ {%- if not w or not h %}
+ {%- set metapath = rootpath ~ "/" ~ video %}
+ {%- 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 ~ video | replace(from=pagepath | truncate(length=4, end=""), to="/") %}
+ {%- else %}
+ {%- set metapath = pagepath ~ video %}
+ {%- endif %}
+ {%- set meta = get_image_metadata(path=metapath) %}
+ {%- set w = meta.width %}
+ {%- set h = meta.height %}
+ {%- endif %}
+
+ {%- endif %}
+
+ {%- set type = src | split(pat=".") | last -%}
+ {%- if type is matching("^mov$") %}{%- set type = "quicktime" -%}{% endif -%}
+ {%- if loop.last %}
+ {%- if not alt %}
+ {%- set alt = video | split(pat=".") | first %}
+ {%- endif %}
+ <img src="{{ path | safe }}{{ video | safe }}" alt="{{ alt }}"{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %} loading="lazy" />
+ {%- else %}
+ <source srcset="{{ path | safe }}{{ video | safe }}" type="{{ 'image/' ~ type }}" />
+ {%- endif %}
+ {%- endfor %}
</picture>
+{%- if caption %}<figcaption>{{caption}}</figcaption></figure>{% endif -%}
diff --git a/templates/shortcodes/video.html b/templates/shortcodes/video.html
index 1839376..9d33f28 100644
--- a/templates/shortcodes/video.html
+++ b/templates/shortcodes/video.html
@@ -1,5 +1,5 @@
{%- if caption %}<figure class="fi{% if class %} {{class}}{% endif %}">{% endif -%}
-<video controls{% if class %} class="{{class}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %}{% if autoplay %} autoplay{% endif %}{% if loop %} loop=true{% endif %}{% if muted %} muted=true{% endif %}>
+<video controls{% if class %} class="{{class}}"{% endif %}{% if w %} width="{{w}}"{% endif %}{% if h %} height="{{h}}"{% endif %}{% if autoplay %} autoplay{% endif %}{% if loop %} loop{% endif %}{% if muted %} muted{% endif %}{% if playsinline %} playsinline{% endif %}>
{% for src in sources -%}
{%- set video = src | split(pat="/") | last %}
@@ -7,15 +7,15 @@
{%- if dirtest is containing("/") %} {%- set reldir = true %} {%- endif %}
{%- if page.path %}{%- set pagepath = page.path %}{%- elif section.path %}{%- set pagepath = section.path %}{%- endif %}
- {%- if src is starting_with("./") and reldir %} {# Relative Path #}
+ {%- if src is starting_with("./") and reldir %}{# Relative Path #}
{%- set path = src | trim_start_matches(pat="./") | split(pat="/") | slice(end=-1) | join(sep="/") | trim_start_matches(pat="/") %}
{%- set path = path ~ "/" %}
- {%- elif src is starting_with("/") %} {# Root Path #}
+ {%- elif src is starting_with("/") %}{# Root Path #}
{%- set rootpath = src | split(pat="/") | slice(end=-1) | join(sep="/") %}
{%- set path = config.base_url ~ rootpath ~ "/" %}
- {%- else %} {# Same Directory Path #}
+ {%- else %}{# Same Directory Path #}
{%- set path = "" %}
{%- endif %}