The big shortcode cleanup

This commit is contained in:
daudix
2024-10-17 17:00:35 +03:00
parent d60dfa8496
commit 8bf69a5d71
26 changed files with 331 additions and 226 deletions

View File

@ -4,13 +4,13 @@
{%- set rel_attributes = [] -%}
{%- if config.markdown.external_links_target_blank -%}
{%- set rel_attributes = rel_attributes | concat(with="noopener") -%}
{%- set rel_attributes = rel_attributes | concat(with="noopener") -%}
{%- endif -%}
{%- if config.markdown.external_links_no_follow -%}
{%- set rel_attributes = rel_attributes | concat(with="nofollow") -%}
{%- set rel_attributes = rel_attributes | concat(with="nofollow") -%}
{%- endif -%}
{%- if config.markdown.external_links_no_referrer -%}
{%- set rel_attributes = rel_attributes | concat(with="noreferrer") -%}
{%- set rel_attributes = rel_attributes | concat(with="noreferrer") -%}
{%- endif -%}
{# Return the array of rel attributes joined by a space #}

View File

@ -18,57 +18,57 @@ NOTE: If the logic for pluralization is modified, it needs to be replicated on t
Files: static/js/searchElasticlunr.js and its minified version at static/js/searchElasticlunr.min.js
Function name: getPluralizationKey -#}
{% macro translate(key, number=-1, language_strings="", default="", replace=true) %}
{%- set slavic_plural_languages = ["uk", "be", "bs", "hr", "ru", "sr"] -%}
{%- set slavic_plural_languages = ["uk", "be", "bs", "hr", "ru", "sr"] -%}
{%- set key_prefix = "" -%}
{#- `zero_` and `one_` are common cases. We handle "many" (plural) later, after language-specific pluralization -#}
{%- if number == 0 -%}
{%- set key_prefix = "zero_" -%}
{%- elif number == 1 -%}
{%- set key_prefix = "one_" -%}
{%- endif -%}
{%- set key_prefix = "" -%}
{#- `zero_` and `one_` are common cases. We handle "many" (plural) later, after language-specific pluralization -#}
{%- if number == 0 -%}
{%- set key_prefix = "zero_" -%}
{%- elif number == 1 -%}
{%- set key_prefix = "one_" -%}
{%- endif -%}
{#- Pluralization -#}
{%- if number != -1 and key_prefix == "" -%}
{#- Arabic -#}
{%- if lang == "ar" -%}
{%- set modulo = number % 100 -%}
{%- if number == 2 -%}
{%- set key_prefix = "two_" -%}
{%- elif modulo >= 3 and modulo <= 10 -%}
{%- set key_prefix = "few_" -%}
{%- else -%}
{%- set key_prefix = "many_" -%}
{%- endif -%}
{#- Slavic languages like Russian or Ukrainian -#}
{%- elif lang in slavic_plural_languages -%}
{%- set modulo10 = number % 10 -%}
{%- set modulo100 = number % 100 -%}
{%- if modulo10 == 1 and modulo100 != 11 -%}
{%- set key_prefix = "one_" -%}
{%- elif modulo10 >= 2 and modulo10 <= 4 -%}
{%- if modulo100 >= 12 and modulo100 <= 14 -%}
{%- set key_prefix = "many_" -%}
{%- else -%}
{%- set key_prefix = "few_" -%}
{%- endif -%}
{%- else -%}
{%- set key_prefix = "many_" -%}
{%- endif -%}
{%- else -%}
{#- Default pluralization -#}
{#- Zero and one are already handled -#}
{%- set key_prefix = "many_" -%}
{%- endif -%}
{%- endif -%}
{#- Pluralization -#}
{%- if number != -1 and key_prefix == "" -%}
{#- Arabic -#}
{%- if lang == "ar" -%}
{%- set modulo = number % 100 -%}
{%- if number == 2 -%}
{%- set key_prefix = "two_" -%}
{%- elif modulo >= 3 and modulo <= 10 -%}
{%- set key_prefix = "few_" -%}
{%- else -%}
{%- set key_prefix = "many_" -%}
{%- endif -%}
{#- Slavic languages like Russian or Ukrainian -#}
{%- elif lang in slavic_plural_languages -%}
{%- set modulo10 = number % 10 -%}
{%- set modulo100 = number % 100 -%}
{%- if modulo10 == 1 and modulo100 != 11 -%}
{%- set key_prefix = "one_" -%}
{%- elif modulo10 >= 2 and modulo10 <= 4 -%}
{%- if modulo100 >= 12 and modulo100 <= 14 -%}
{%- set key_prefix = "many_" -%}
{%- else -%}
{%- set key_prefix = "few_" -%}
{%- endif -%}
{%- else -%}
{%- set key_prefix = "many_" -%}
{%- endif -%}
{%- else -%}
{#- Default pluralization -#}
{#- Zero and one are already handled -#}
{%- set key_prefix = "many_" -%}
{%- endif -%}
{%- endif -%}
{#- Translated string -#}
{%- set final_key = key_prefix ~ key -%}
{%- set translated_text = language_strings[final_key] | default(value=default) | safe -%}
{#- Translated string -#}
{%- set final_key = key_prefix ~ key -%}
{%- set translated_text = language_strings[final_key] | default(value=default) | safe -%}
{#- Replace $NUMBER with the number -#}
{%- if replace -%}
{%- set translated_text = translated_text | replace(from="$NUMBER", to=number | as_str) -%}
{%- endif -%}
{{- translated_text -}}
{#- Replace $NUMBER with the number -#}
{%- if replace -%}
{%- set translated_text = translated_text | replace(from="$NUMBER", to=number | as_str) -%}
{%- endif -%}
{{- translated_text -}}
{% endmacro translate %}

View File

@ -10,9 +10,9 @@
{%- endif -%}
{%- if page.extra.comments.user -%}
{%- set username = page.extra.comments.user -%}
{%- set user = page.extra.comments.user -%}
{%- else %}
{%- set username = config.extra.comments.user -%}
{%- set user = config.extra.comments.user -%}
{%- endif -%}
{%- set id = page.extra.comments.id -%}
@ -28,7 +28,7 @@
decoding="async"
loading="lazy"
{%- endif -%}
src="https://api.qrserver.com/v1/create-qr-code/?data=https://{{ host }}/@{{ username }}/{{ id }}"
src="https://api.qrserver.com/v1/create-qr-code/?data=https://{{ host }}/@{{ user }}/{{ id }}"
/>
{%- endif -%}
<h2>{{ macros_translate::translate(key="comments", default="Comments", language_strings=language_strings) }}</h2>
@ -37,7 +37,7 @@
<button id="load-comments" class="inline-button" onclick="loadComments()">
{{- macros_translate::translate(key="load_comments", default="Load Comments", language_strings=language_strings) -}}
</button>
<a class="inline-button colored external" href="https://{{ host }}/@{{ username }}/{{ id }}" rel="{{ rel_attributes }}">
<a class="inline-button colored external" href="https://{{ host }}/@{{ user }}/{{ id }}" rel="{{ rel_attributes }}">
{{- macros_translate::translate(key="open_post", default="Open Post", language_strings=language_strings) -}}
</a>
</div>
@ -129,7 +129,7 @@
const isReply = status.in_reply_to_id !== "{{ id }}";
let op = false;
if (status.account.acct == "{{ username }}") {
if (status.account.acct == "{{ user }}") {
op = true;
}

View File

@ -4,50 +4,50 @@
content="default-src 'self'
{%- if config.extra.csp -%}
{#- Initialise a base script-src directive -#}
{%- set script_src = "script-src 'self'" -%}
{#- Initialise a base script-src directive -#}
{%- set script_src = "script-src 'self'" -%}
{#- Initialise a base connect-src directive -#}
{%- set connect_src = "connect-src 'self'" -%}
{#- Initialise a base connect-src directive -#}
{%- set connect_src = "connect-src 'self'" -%}
{# Base logic for appending analytics domains #}
{%- if config.extra.goatcounter %}
{%- set goatcounter_host = config.extra.goatcounter.host | default(value='goatcounter.com') -%}
{%- set goatcounter_url = "https://" ~ config.extra.goatcounter.user ~ "." ~ goatcounter_host ~ "/count" %}
{%- set script_src = script_src ~ " " ~ goatcounter_url -%}
{%- set connect_src = connect_src ~ " " ~ goatcounter_url -%}
{%- endif %}
{# Base logic for appending analytics domains #}
{%- if config.extra.goatcounter %}
{%- set goatcounter_host = config.extra.goatcounter.host | default(value='goatcounter.com') -%}
{%- set goatcounter_url = "https://" ~ config.extra.goatcounter.user ~ "." ~ goatcounter_host ~ "/count" %}
{%- set script_src = script_src ~ " " ~ goatcounter_url -%}
{%- set connect_src = connect_src ~ " " ~ goatcounter_url -%}
{%- endif %}
{#- Append WebSocket for Zola serve mode -#}
{%- if config.mode == "serve" -%}
{%- set connect_src = connect_src ~ " ws:" -%}
{%- endif -%}
{#- Append WebSocket for Zola serve mode -#}
{%- if config.mode == "serve" -%}
{%- set connect_src = connect_src ~ " ws:" -%}
{%- endif -%}
{%- for domain in config.extra.csp -%}
{%- if domain.directive == "connect-src" -%}
{%- set configured_connect_src = domain.domains | join(sep=' ') -%}
{%- set_global connect_src = connect_src ~ " " ~ configured_connect_src -%}
{%- continue -%}
{%- endif -%}
{%- for domain in config.extra.csp -%}
{%- if domain.directive == "connect-src" -%}
{%- set configured_connect_src = domain.domains | join(sep=' ') -%}
{%- set_global connect_src = connect_src ~ " " ~ configured_connect_src -%}
{%- continue -%}
{%- endif -%}
{%- if domain.directive == "script-src" -%}
{%- set configured_script_src = domain.domains | join(sep=' ') -%}
{%- set_global script_src = script_src ~ " " ~ configured_script_src -%}
{%- continue -%}
{%- endif -%}
{%- if domain.directive == "script-src" -%}
{%- set configured_script_src = domain.domains | join(sep=' ') -%}
{%- set_global script_src = script_src ~ " " ~ configured_script_src -%}
{%- continue -%}
{%- endif -%}
{#- Handle directives that are not connect-src -#}
{{ domain.directive }} {{ domain.domains | join(sep=' ') -}}
{#- Handle directives that are not connect-src -#}
{{ domain.directive }} {{ domain.domains | join(sep=' ') -}}
{%- if not loop.last -%}
;
{%- endif -%}
{%- endfor -%}
{%- if not loop.last -%}
;
{%- endif -%}
{%- endfor -%}
{#- Insert the generated connect-src -#}
{{ ";" ~ connect_src }}
{#- Insert the generated connect-src -#}
{{ ";" ~ connect_src }}
{#- Insert the generated script-src -#}
{{ ";" ~ script_src }}
{#- Insert the generated script-src -#}
{{ ";" ~ script_src }}
{%- endif -%}">

View File

@ -1,7 +1,7 @@
{%- if page.extra.default_theme -%}
data-theme="{{ page.extra.default_theme }}"
data-theme="{{ page.extra.default_theme }}"
{%- elif section.extra.default_theme -%}
data-theme="{{ section.extra.default_theme }}"
data-theme="{{ section.extra.default_theme }}"
{%- elif config.extra.default_theme -%}
data-theme="{{ config.extra.default_theme }}"
data-theme="{{ config.extra.default_theme }}"
{%- endif -%}

View File

@ -1,7 +1,7 @@
{%- if page.description -%}
{{- page.description }}
{{- page.description }}
{%- elif section.description -%}
{{- section.description }}
{{- section.description }}
{%- else -%}
{{- config.description -}}
{{- config.description -}}
{%- endif -%}

View File

@ -4,25 +4,25 @@
{%- elif section.extra.favicon -%}
{{ get_url(path=section.colocated_path ~ section.extra.favicon) }}
{%- else -%}
{{ get_url(path='favicon.png') }}
{{ get_url(path='favicon.png') }}
{%- endif -%}" />
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="
{%- if page.extra.apple_touch_icon -%}
{{ get_url(path=page.colocated_path ~ page.extra.apple_touch_icon) }}
{%- elif section.extra.apple_touch_icon -%}
{{ get_url(path=section.colocated_path ~ section.extra.apple_touch_icon) }}
{{ get_url(path=section.colocated_path ~ section.extra.apple_touch_icon) }}
{%- else -%}
{{ get_url(path='apple-touch-icon.png') }}
{{ get_url(path='apple-touch-icon.png') }}
{%- endif -%}" />
{%- if page.extra.emoji_favicon or section.extra.emoji_favicon or config.extra.emoji_favicon %}
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext x='-.07em' y='.89em' font-size='90'%3E
{%- if page.extra.emoji_favicon -%}
{{ page.extra.emoji_favicon | truncate(length=1, end='') }}
{%- elif section.extra.emoji_favicon -%}
{{ section.extra.emoji_favicon | truncate(length=1, end='') }}
{%- else -%}
{{ config.extra.emoji_favicon | truncate(length=1, end='') }}
{%- endif -%}%3C/text%3E%3C/svg%3E">
<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ctext x='-.07em' y='.89em' font-size='90'%3E
{%- if page.extra.emoji_favicon -%}
{{ page.extra.emoji_favicon | truncate(length=1, end='') }}
{%- elif section.extra.emoji_favicon -%}
{{ section.extra.emoji_favicon | truncate(length=1, end='') }}
{%- else -%}
{{ config.extra.emoji_favicon | truncate(length=1, end='') }}
{%- endif -%}%3C/text%3E%3C/svg%3E">
{%- endif %}

View File

@ -1,42 +1,42 @@
{#- Based on https://github.com/welpo/tabi/blob/7b00ed1d9dca5c529d2816c5b6679bfe600d63fc/templates/partials/language_switcher.html -#}
<li id="language-switcher">
<details class="closable">
<summary class="circle" title="{{ macros_translate::translate(key='language', default='Language', language_strings=language_strings) }}">
<i class="icon"></i>
</summary>
<ul>
{%- for lcode, ldetails in config.languages -%}
{#- Skip the current language to avoid linking to the current page -#}
{%- if lang == lcode -%}
{%- continue -%}
{%- endif -%}
{#- Dynamically load the language strings for each language -#}
{%- set other_language_strings = load_data(path="i18n/" ~ lcode ~ ".toml", required=false) -%}
{%- if not other_language_strings -%}
{%- set other_language_strings = load_data(path="themes/duckquill/i18n/" ~ lcode ~ ".toml", required=false) -%}
{%- endif -%}
{#- Use the loaded language strings to get the language name -#}
{% set language_name = macros_translate::translate(key="language_name", default=lcode, language_strings=other_language_strings) %}
{#- Check if the language code matches the default language -#}
{%- if lcode == config.default_language -%}
{#- If it does, link to the root path (no language code in URL) -#}
<li>
<a lang="{{ lcode }}" href="{{ current_url | replace(from='/' ~ lang ~ '/', to = '/') }}">{{ language_name }}</a>
</li>
{#- Check if the current language is the default language -#}
{#- If it is, append the language code to the base URL -#}
{%- elif lang == config.default_language -%}
<li>
<a lang="{{ lcode }}" href="{{ config.base_url }}/{{ lcode }}{{ current_path | default(value="/") | safe }}">{{ language_name }}</a>
</li>
{%- else -%}
{#- If it's not, replace the current language code in the URL with the new one -#}
<li>
<a lang="{{ lcode }}" href="{{ current_url | replace(from='/' ~ lang ~ '/', to='/' ~ lcode ~ '/') }}">{{ language_name }}</a>
</li>
{%- endif -%}
{%- endfor -%}
</ul>
</details>
<details class="closable">
<summary class="circle" title="{{ macros_translate::translate(key='language', default='Language', language_strings=language_strings) }}">
<i class="icon"></i>
</summary>
<ul>
{%- for lcode, ldetails in config.languages -%}
{#- Skip the current language to avoid linking to the current page -#}
{%- if lang == lcode -%}
{%- continue -%}
{%- endif -%}
{#- Dynamically load the language strings for each language -#}
{%- set other_language_strings = load_data(path="i18n/" ~ lcode ~ ".toml", required=false) -%}
{%- if not other_language_strings -%}
{%- set other_language_strings = load_data(path="themes/duckquill/i18n/" ~ lcode ~ ".toml", required=false) -%}
{%- endif -%}
{#- Use the loaded language strings to get the language name -#}
{% set language_name = macros_translate::translate(key="language_name", default=lcode, language_strings=other_language_strings) %}
{#- Check if the language code matches the default language -#}
{%- if lcode == config.default_language -%}
{#- If it does, link to the root path (no language code in URL) -#}
<li>
<a lang="{{ lcode }}" href="{{ current_url | replace(from='/' ~ lang ~ '/', to = '/') }}">{{ language_name }}</a>
</li>
{#- Check if the current language is the default language -#}
{#- If it is, append the language code to the base URL -#}
{%- elif lang == config.default_language -%}
<li>
<a lang="{{ lcode }}" href="{{ config.base_url }}/{{ lcode }}{{ current_path | default(value="/") | safe }}">{{ language_name }}</a>
</li>
{%- else -%}
{#- If it's not, replace the current language code in the URL with the new one -#}
<li>
<a lang="{{ lcode }}" href="{{ current_url | replace(from='/' ~ lang ~ '/', to='/' ~ lcode ~ '/') }}">{{ language_name }}</a>
</li>
{%- endif -%}
{%- endfor -%}
</ul>
</details>
</li>

View File

@ -1,7 +1,7 @@
{%- if page.title -%}
{{- page.title }} - {{ config.title -}}
{{- page.title }} - {{ config.title -}}
{%- elif section.title -%}
{{- section.title }} - {{ config.title -}}
{{- section.title }} - {{ config.title -}}
{%- else -%}
{{- config.title -}}
{{- config.title -}}
{%- endif -%}

View File

@ -5,30 +5,27 @@
{%- set language_strings = load_data(path="themes/duckquill/i18n/" ~ lang ~ ".toml", required=false) -%}
{%- endif -%}
<blockquote class="
{% if note %}note{% endif %}
{% if tip %}tip{% endif %}
{% if important %}important{% endif %}
{% if warning %}warning{% endif %}
{% if caution %}caution{% endif %}
">
{%- if note -%}
{%- set alert_type = "note" -%}
{%- set alert_string = macros_translate::translate(key="note", default="Note", language_strings=language_strings) -%}
{%- elif tip -%}
{%- set alert_type = "tip" -%}
{%- set alert_string = macros_translate::translate(key="tip", default="Tip", language_strings=language_strings) -%}
{%- elif important -%}
{%- set alert_type = "important" -%}
{%- set alert_string = macros_translate::translate(key="important", default="Important", language_strings=language_strings) -%}
{%- elif warning -%}
{%- set alert_type = "warning" -%}
{%- set alert_string = macros_translate::translate(key="warning", default="Warning", language_strings=language_strings) -%}
{%- elif caution -%}
{%- set alert_type = "caution" -%}
{%- set alert_string = macros_translate::translate(key="caution", default="Caution", language_strings=language_strings) -%}
{%- endif -%}
<blockquote class="{{ alert_type }}">
<p class="alert-title">
<i class="icon"></i>
{%- if note -%}
{{ macros_translate::translate(key="note", default="Note", language_strings=language_strings) }}
{%- endif -%}
{%- if tip -%}
{{ macros_translate::translate(key="tip", default="Tip", language_strings=language_strings) }}
{%- endif -%}
{%- if important -%}
{{ macros_translate::translate(key="important", default="Important", language_strings=language_strings) }}
{%- endif -%}
{%- if warning -%}
{{ macros_translate::translate(key="warning", default="Warning", language_strings=language_strings) }}
{%- endif -%}
{%- if caution -%}
{{ macros_translate::translate(key="caution", default="Caution", language_strings=language_strings) }}
{%- endif -%}
{{- alert_string -}}
</p>
{{ body | markdown | safe }}
</blockquote>

View File

@ -1,35 +1,38 @@
{%- set image_classes = [] -%}
{%- if full -%}
{%- set image_classes = image_classes | concat(with="full") -%}
{%- endif -%}
{%- if full_bleed -%}
{%- set image_classes = image_classes | concat(with="full-bleed") -%}
{%- endif -%}
{%- if start -%}
{%- set image_classes = image_classes | concat(with="start") -%}
{%- endif -%}
{%- if end -%}
{%- set image_classes = image_classes | concat(with="end") -%}
{%- endif -%}
{%- if pixels -%}
{%- set image_classes = image_classes | concat(with="pixels") -%}
{%- endif -%}
{%- if transparent -%}
{%- set image_classes = image_classes | concat(with="transparent") -%}
{%- endif -%}
{%- if no_hover -%}
{%- set image_classes = image_classes | concat(with="no-hover") -%}
{%- endif -%}
{%- if spoiler -%}
{%- set image_classes = image_classes | concat(with="spoiler") -%}
{%- endif -%}
{%- if spoiler and solid -%}
{%- set image_classes = image_classes | concat(with="solid") -%}
{%- endif -%}
{%- set image_classes = image_classes | join(sep=" ") -%}
{%- if url_min -%}
<a href="{{ url }}">
<img class="
{% if full %}full{% endif %}
{% if full_bleed %}full-bleed{% endif %}
{% if start %}start{% endif %}
{% if end %}end{% endif %}
{% if pixels %}pixels{% endif %}
{% if transparent %}transparent{% endif %}
{% if no_hover %}no-hover{% endif %}
{% if spoiler %}spoiler{% endif %}
{% if spoiler and solid %}solid{% endif %}
"
{%- if alt -%}alt="{{ alt }}"{%- endif -%}
src="{{ url_min }}"
{%- if config.markdown.lazy_async_image -%}decoding="async" loading="lazy"{%- endif -%}
/>
<img class="{{ image_classes }}" {%- if alt -%}alt="{{ alt }}"{%- endif -%} src="{{ url_min }}" {%- if config.markdown.lazy_async_image -%}decoding="async" loading="lazy"{%- endif -%} />
</a>
{%- else -%}
<img class="
{% if full %}full{% endif %}
{% if full_bleed %}full-bleed{% endif %}
{% if start %}start{% endif %}
{% if end %}end{% endif %}
{% if pixels %}pixels{% endif %}
{% if transparent %}transparent{% endif %}
{% if no_hover %}no-hover{% endif %}
{% if spoiler %}spoiler{% endif %}
{% if spoiler and solid %}solid{% endif %}
"
{%- if alt -%}alt="{{ alt }}"{%- endif -%}
src="{{ url }}"
{%- if config.markdown.lazy_async_image -%}decoding="async" loading="lazy"{%- endif -%}
/>
<img class="{{ image_classes }}" {%- if alt -%}alt="{{ alt }}"{%- endif -%} src="{{ url }}" {%- if config.markdown.lazy_async_image -%}decoding="async" loading="lazy"{%- endif -%} />
{%- endif -%}

View File

@ -0,0 +1,16 @@
{%- if host -%}
{%- set host = host -%}
{%- else -%}
{%- set host = config.extra.comments.host -%}
{%- endif -%}
{%- if user -%}
{%- set user = user -%}
{%- else -%}
{%- set user = config.extra.comments.user -%}
{%- endif -%}
<iframe
class="mastodon-embed"
src="https://{{ host }}/@{{ user }}/{{ id }}/embed">
</iframe>

View File

@ -1,12 +1,50 @@
<video class="
{% if full %}full{% endif %}
{% if full_bleed %}full-bleed{% endif %}
{% if start %}start{% endif %}
{% if end %}end{% endif %}
{% if pixels %}pixels{% endif %}
{% if transparent %}transparent{% endif %}
{% if spoiler %}spoiler{% endif %}
{% if spoiler and solid %}solid{% endif %}
"
{%- if alt -%}aria-title="{{ alt }}"{%- endif -%}
controls src="{{ url }}"></video>
{# Video classes #}
{%- set video_classes = [] -%}
{%- if full -%}
{%- set video_classes = video_classes | concat(with="full") -%}
{%- endif -%}
{%- if full_bleed -%}
{%- set video_classes = video_classes | concat(with="full-bleed") -%}
{%- endif -%}
{%- if start -%}
{%- set video_classes = video_classes | concat(with="start") -%}
{%- endif -%}
{%- if end -%}
{%- set video_classes = video_classes | concat(with="end") -%}
{%- endif -%}
{%- if pixels -%}
{%- set video_classes = video_classes | concat(with="pixels") -%}
{%- endif -%}
{%- if transparent -%}
{%- set video_classes = video_classes | concat(with="transparent") -%}
{%- endif -%}
{%- if spoiler -%}
{%- set video_classes = video_classes | concat(with="spoiler") -%}
{%- endif -%}
{%- if spoiler and solid -%}
{%- set video_classes = video_classes | concat(with="solid") -%}
{%- endif -%}
{%- set video_classes = video_classes | join(sep=" ") -%}
{# Video attributes #}
{%- set video_attributes = [] -%}
{%- if autoplay -%}
{%- set video_attributes = video_attributes | concat(with="autoplay") -%}
{%- endif -%}
{%- if controls -%}
{%- set video_attributes = video_attributes | concat(with="controls") -%}
{%- endif -%}
{%- if loop -%}
{%- set video_attributes = video_attributes | concat(with="loop") -%}
{%- endif -%}
{%- if muted -%}
{%- set video_attributes = video_attributes | concat(with="muted") -%}
{%- endif -%}
{%- if playsinline -%}
{%- set video_attributes = video_attributes | concat(with="playsinline") -%}
{%- endif -%}
{%- set video_attributes = video_attributes | join(sep=" ") -%}
<video class="{{ video_classes }}" src="{{ url }}" {%- if alt -%}aria-title="{{ alt }}"{%- endif -%} {{ video_attributes }}></video>

View File

@ -1,4 +1,6 @@
<iframe class="vimeo-embed"
<iframe
class="vimeo-embed"
src="https://player.vimeo.com/video/{{ id }}{% if autoplay %}?autoplay=1{% endif %}"
allow="autoplay; fullscreen; picture-in-picture"
allowfullscreen></iframe>
allowfullscreen>
</iframe>

View File

@ -1,5 +1,6 @@
<iframe class="youtube-embed"
<iframe
class="youtube-embed"
src="https://www.youtube-nocookie.com/embed/{{ id }}{% if autoplay %}?autoplay=1{% endif %}{% if autoplay and start %}&start={{ start }}{% elif start %}?start={{ start }}{% endif %}"
title="YouTube video player"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
referrerpolicy="strict-origin-when-cross-origin" allowfullscreen>
</iframe>