From c2d72e09747a2a4abe9602e1ba49a1b4649c9d3c Mon Sep 17 00:00:00 2001
From: Jieiku
Date: Fri, 14 Aug 2026 15:10:15 -0700
Subject: Update for Zola 0.23.3
---
templates/components/audio.html | 30 +++
templates/components/components.html | 504 +++++++++++++++++++++++++++++++++++
templates/components/gif.html | 30 +++
templates/components/image.html | 64 +++++
templates/components/img.html | 52 ++++
templates/components/imgswap.html | 103 +++++++
templates/components/katex.html | 3 +
templates/components/showdata.html | 9 +
templates/components/streamable.html | 5 +
templates/components/video.html | 30 +++
templates/components/vimeo.html | 5 +
templates/components/youtube.html | 5 +
12 files changed, 840 insertions(+)
create mode 100644 templates/components/audio.html
create mode 100644 templates/components/components.html
create mode 100644 templates/components/gif.html
create mode 100644 templates/components/image.html
create mode 100644 templates/components/img.html
create mode 100644 templates/components/imgswap.html
create mode 100644 templates/components/katex.html
create mode 100644 templates/components/showdata.html
create mode 100644 templates/components/streamable.html
create mode 100644 templates/components/video.html
create mode 100644 templates/components/vimeo.html
create mode 100644 templates/components/youtube.html
(limited to 'templates/components')
diff --git a/templates/components/audio.html b/templates/components/audio.html
new file mode 100644
index 0000000..f31488d
--- /dev/null
+++ b/templates/components/audio.html
@@ -0,0 +1,30 @@
+{% component audio(page, config, sources, caption="", class="", autoplay=false, loop=false, muted=false, playsinline=false) %}
+{%- if caption %}{% endif %}
+
+{%- if caption %}{{caption}}{% endif %}
+
+{% endcomponent audio %}
diff --git a/templates/components/components.html b/templates/components/components.html
new file mode 100644
index 0000000..7ce9ef3
--- /dev/null
+++ b/templates/components/components.html
@@ -0,0 +1,504 @@
+{# Former macro components #}
+
+{% component translate(key: string, i18n, default="") %}
+{{- i18n[key] | default(value=default) | safe -}}
+{% endcomponent translate %}
+
+{%- component page_listing(page, config) %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) -%}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %}
+
+{%- endcomponent page_listing %}
+
+{%- component series_link(inner, page, config) %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) -%}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %}
+ {%- if inner.content == page.content %}
+ {{ inner.title }}
+ {%- else %}
+ {{ inner.title }}
+ {%- endif %}
+{%- endcomponent series_link %}
+
+{%- component title_post(page, config) %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) %}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %}
+
+{%- endcomponent title_post %}
+
+{%- component meta_post(page, config) -%}
+{#- Load current language i18n data from .toml files in user's '/i18n' folder, use theme as fallback. -#}
+{%- set i18n = load_data(path="i18n/" ~ page.lang ~ '.toml', required=false) -%}
+{%- if not i18n -%}{%- set i18n = load_data(path="themes/abridge/i18n/" ~ page.lang ~ ".toml", required=false) -%}{%- endif -%}
+
+{%- set uglyurls = config.extra.uglyurls | default(value=false) -%}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true -%}{%- endif %}{%- endif %}
+
+{%- endcomponent meta_post %}
+
+{%- component title_index(page, config) %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) -%}
+{%- if config.extra.search_library -%}{%- if config.extra.search_library == "offline" -%}{%- set uglyurls = true -%}{%- endif -%}{%- endif -%}
+ {% if config.extra.title_size_index %}{% endif %}
+{%- endcomponent title_index -%}
+
+{%- component meta_index(page, config) %}
+{#- Load current language i18n data from .toml files in user's '/i18n' folder, use theme as fallback. -#}
+{%- set i18n = load_data(path="i18n/" ~ page.lang ~ '.toml', required=false) -%}
+{%- if not i18n %}{%- set i18n = load_data(path="themes/abridge/i18n/" ~ page.lang ~ ".toml", required=false) %}{%- endif %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) -%}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true -%}{%- endif -%}{%- endif -%}
+
+{%- endcomponent meta_index -%}
+
+{%- component footer(page, config) %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) -%}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{%- set uglyurls = true %}{%- endif %}{%- endif %}
+ {#- prev/next content page nextprev title pagination -#}
+ {%- if not config.extra.hide_page_nextprev_titles | default(value=false) %}
+ {%- if page.lower or page.higher %}
+
+ {%- endif %}
+ {%- endif %}
+{%- endcomponent footer %}
+
+{% component pagination(paginator, config) %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) %}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{% set uglyurls = true %}{% endif %}{% endif %}
+ {%- if paginator.number_pagers > 1 %}
+ {%- if paginator.number_pagers <= 5 %} {# 5 or less pager is simple, just display all 5 #}
+ {%- set start = 1 %}
+ {%- set end = paginator.number_pagers %}
+ {%- endif %}
+
+ {%- if paginator.number_pagers > 5 %}
+
+ {%- if paginator.current_index >= 3 %} {# Check if the first number will be 1 or not #}
+ {%- set start = paginator.current_index - 2 %} {# Set the start number #}
+ {%- if paginator.number_pagers - paginator.current_index < 2 %} {# the last two pages your no longer centered with equal pages start and end #}
+ {%- set difference = paginator.number_pagers - paginator.current_index %}
+ {%- set compensation = 1 - difference %}
+ {%- set start = paginator.current_index - 3 - compensation %} {# however many pages are missing on the end, add offset to start #}
+ {%- endif %}
+ {%- else %}
+ {%- set start = 1 %}
+ {%- endif %}
+
+ {%- if paginator.number_pagers >= paginator.current_index + 2 %} {# Check if the last page is beyond our range #}
+ {%- set end = paginator.current_index + 2 %} {# End is beyond our range so we can safely set it to our range #}
+ {%- if paginator.current_index <= 3 %} {# check offset start, if on page 1 or 2 then set the end to page 5 #}
+ {%- set end = 5 %}
+ {%- endif %}
+ {%- else %}
+ {%- set end = paginator.number_pagers %}
+ {%- endif %}
+ {%- endif %}
+
+ {%- endif %}
+{% endcomponent pagination %}
+
+{% component numpagination(paginator, config) %}
+{%- set uglyurls = config.extra.uglyurls | default(value=false) %}
+{%- if config.extra.search_library %}{%- if config.extra.search_library == "offline" %}{% set uglyurls = true %}{% endif %}{% endif %}
+ {%- if paginator.number_pagers > 1 %}
+ {%- if paginator.number_pagers <= 5 %} {# 5 or less pager is simple, just display all 5 #}
+ {%- set start = 1 %}
+ {%- set end = paginator.number_pagers %}
+ {%- endif %}
+
+ {%- if paginator.number_pagers > 5 %}
+
+ {%- if paginator.current_index >= 3 %} {# Check if the first number will be 1 or not #}
+ {%- set start = paginator.current_index - 2 %} {# Set the start number #}
+ {%- if paginator.number_pagers - paginator.current_index < 2 %} {# the last two pages your no longer centered with equal pages start and end #}
+ {%- set difference = paginator.number_pagers - paginator.current_index %}
+ {%- set compensation = 1 - difference %}
+ {%- set start = paginator.current_index - 3 - compensation %} {# however many pages are missing on the end, add offset to start #}
+ {%- endif %}
+ {%- else %}
+ {%- set start = 1 %}
+ {%- endif %}
+
+ {%- if paginator.number_pagers >= paginator.current_index + 2 %} {# Check if the last page is beyond our range #}
+ {%- set end = paginator.current_index + 2 %} {# End is beyond our range so we can safely set it to our range #}
+ {%- if paginator.current_index <= 3 %} {# check offset start, if on page 1 or 2 then set the end to page 5 #}
+ {%- set end = 5 %}
+ {%- endif %}
+ {%- else %}
+ {%- set end = paginator.number_pagers %}
+ {%- endif %}
+ {%- endif %}
+
+ {%- endif %}
+{% endcomponent numpagination %}
+
+{% component seo( config, title="", title_addition="", description="", type="website", is_home=false, is_404=false, is_page=false, page_images="", page_section="", created_time="2023-05-15T07:07:00-07:00", updated_time="2023-05-15T07:07:00-07:00", page="" ) -%}
+{#- Load current language i18n data from .toml files in user's '/i18n' folder, use theme as fallback. -#}
+{%- set _lang = page.lang if page else config.default_language -%}
+{%- set i18n = load_data(path="i18n/" ~ _lang ~ '.toml', required=false) -%}
+{%- if not i18n -%}{%- set i18n = load_data(path="themes/abridge/i18n/" ~ _lang ~ ".toml", required=false) -%}{%- endif -%}
+{%- set lang_locale %}{{}}{% endset -%}
+{%- if is_404 %}
+
+{%- else %}
+
+
+
+{%- endif %}
+
+{%- if current_url %}
+ {%- set page_url = current_url %}
+{%- else %}
+ {%- set page_url = get_url(path="404.html", trailing_slash=true) %}
+{%- endif %}
+ {{ title ~ title_addition }}
+
+{%- if config.extra?.author %}
+
+{%- endif %}
+{%- if config.extra?.facebook_publisher %}
+
+{%- endif %}
+
+{%- if config.extra?.facebook_author %}
+
+{%- endif %}
+{%- if page?.description %}
+
+{%- else %}
+
+{%- endif %}
+
+{%- if page?.extra?.keywords and config.extra?.keywords %}
+
+{%- elif page?.extra?.keywords %}
+
+{%- elif config.extra?.keywords %}
+
+{%- endif %}
+
+{#- Extra SEO START #}
+{%- if config.extra?.seo | default(value=true) %}
+{%- if not is_404 %}
+
+{%- if config.extra?.google %}
+
+{%- endif %}
+
+{%- if config.extra?.bing %}
+
+{%- endif %}
+
+
+
+{%- if page?.description %}
+
+
+{%- else %}
+
+
+{%- endif %}
+
+{%- if page?.title %}
+
+
+{%- else %}
+
+
+{%- endif %}
+
+
+{#- SEO MEDIA START #}
+{%- if page?.extra?.thumbnail %}
+
+
+
+
+{%- elif page?.extra?.static_thumbnail %}
+
+ {%- if page?.extra?.static_thumbnail is matching(pat="^http[s]?://") %}
+
+
+ {%- else %}
+
+
+ {%- endif %}
+
+{%- elif config.extra?.banner %}
+
+
+
+
+{%- else %}
+
+
+{%- endif %}
+
+{%- if config.extra?.open?.audio %}
+
+{%- endif %}
+
+{%- if config.extra?.open?.locale %}
+
+{%- endif %}
+
+{%- if config.extra?.open?.videos %}
+ {%- for video in config.extra?.open?.videos %}
+
+ {%- endfor %}
+{%- endif %}
+
+{#- SEO MEDIA END #}
+
+
+
+{%- if page?.updated %}
+
+{%- elif page?.date %}
+
+{%- else %}
+
+{%- endif %}
+
+{%- if config.extra?.twitter_meta %}
+
+
+{%- endif -%}
+{%- endif -%}
+{%- endif -%}
+{#- Extra SEO END -#}
+{% endcomponent seo %}
+
diff --git a/templates/components/gif.html b/templates/components/gif.html
new file mode 100644
index 0000000..cf4d264
--- /dev/null
+++ b/templates/components/gif.html
@@ -0,0 +1,30 @@
+{% component gif(page, config, sources, caption="", class="", w=0, h=0) %}
+{%- if caption %}{% endif %}
+
+{%- if caption %}{{caption}}{% endif %}
+
+{% endcomponent gif %}
diff --git a/templates/components/image.html b/templates/components/image.html
new file mode 100644
index 0000000..c8230e1
--- /dev/null
+++ b/templates/components/image.html
@@ -0,0 +1,64 @@
+{% component image(page, config, sources, caption="", class="", alt="", w=0, h=0) %}
+{%- if caption %}{% endif %}
+
+ {%- for src in sources %}
+
+ {%- set video = src | split(pat="/") | last %}
+ {%- set dirtest = 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 src is starting_with(pat="./") and reldir %}{# Relative Path #}
+ {%- set path = (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 ~ video) | replace(from="/" ~ page.lang ~ "/", 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(pat="/") %}{# Root Path #}
+ {%- set rootpath = (src | split(pat="/"))[:-1] | join(sep="/") -%}
+ {%- set path = (config.base_url if config else "") ~ 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 page.lang != config.default_language %}
+ {%- set metapath = (pagepath ~ video) | replace(from="/" ~ page.lang ~ "/", 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(pat="^mov$") %}{%- set type = "quicktime" %}{% endif %}
+ {%- if loop.last %}
+ {%- if not alt %}
+ {%- set alt = video | split(pat=".") | first %}
+ {%- endif %}
+
+ {%- else %}
+
+ {%- endif %}
+ {%- endfor %}
+
+{%- if caption %}{{caption}}{% endif %}
+
+{% endcomponent image %}
diff --git a/templates/components/img.html b/templates/components/img.html
new file mode 100644
index 0000000..6aa5b2e
--- /dev/null
+++ b/templates/components/img.html
@@ -0,0 +1,52 @@
+{% component img(page, config, src, caption="", class="", alt="", w=0, h=0, link="") %}
+{%- set img = src | split(pat="/") | last %}
+{%- set dirtest = 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 src is starting_with(pat="./") and reldir %} {# Relative Path #}
+ {%- set path = (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 src is starting_with(pat="/") %} {# Root Path #}
+ {%- set rootpath = (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 | safe }}{%- endif %}
+
+{% endcomponent img %}
diff --git a/templates/components/imgswap.html b/templates/components/imgswap.html
new file mode 100644
index 0000000..b260615
--- /dev/null
+++ b/templates/components/imgswap.html
@@ -0,0 +1,103 @@
+{% 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 %}
diff --git a/templates/components/katex.html b/templates/components/katex.html
new file mode 100644
index 0000000..71e27dd
--- /dev/null
+++ b/templates/components/katex.html
@@ -0,0 +1,3 @@
+{% component katex(block=false) %}
+
+{% endcomponent katex %}
diff --git a/templates/components/showdata.html b/templates/components/showdata.html
new file mode 100644
index 0000000..2aba3b1
--- /dev/null
+++ b/templates/components/showdata.html
@@ -0,0 +1,9 @@
+{%- component showdata(page, config, src, type="", key="") -%}
+{%- if src and key and type -%}
+{%- if src is matching(pat="^http[s]?://") -%}{%- set data = load_data(url=src, format=type) -%}{%- else -%}{%- set data = load_data(path=src, format=type) -%}{%- endif -%}
+{{- data[key] }}
+{%- else -%}
+{%- if src is matching(pat="^http[s]?://") -%}{%- set data = load_data(url=src) -%}{%- else -%}{%- set data = load_data(path=src) -%}{%- endif -%}
+{{- data }}
+{%- endif -%}
+{%- endcomponent showdata -%}
diff --git a/templates/components/streamable.html b/templates/components/streamable.html
new file mode 100644
index 0000000..94dfc45
--- /dev/null
+++ b/templates/components/streamable.html
@@ -0,0 +1,5 @@
+{% component streamable(id, class="", title="") %}
+
+
+
+{% endcomponent streamable %}
diff --git a/templates/components/video.html b/templates/components/video.html
new file mode 100644
index 0000000..ee8130d
--- /dev/null
+++ b/templates/components/video.html
@@ -0,0 +1,30 @@
+{% component video(page, config, sources, caption="", class="", w=0, h=0, autoplay=false, loop=false, muted=false, playsinline=false) %}
+{%- if caption %}{% endif %}
+
+{%- if caption %}{{caption}}{% endif %}
+
+{% endcomponent video %}
diff --git a/templates/components/vimeo.html b/templates/components/vimeo.html
new file mode 100644
index 0000000..d5a9e70
--- /dev/null
+++ b/templates/components/vimeo.html
@@ -0,0 +1,5 @@
+{% component vimeo(id, class="", title="", autoplay=false, loop=false, noautopause=false, cookie=true) %}
+
+
+
+{% endcomponent vimeo %}
diff --git a/templates/components/youtube.html b/templates/components/youtube.html
new file mode 100644
index 0000000..1022825
--- /dev/null
+++ b/templates/components/youtube.html
@@ -0,0 +1,5 @@
+{% component youtube(id, class="", title="", playlist="", autoplay=false, cookie=false) %}
+
+
+
+{% endcomponent youtube %}
--
cgit v1.3.1