git-subtree-dir: themes/tabi-lean git-subtree-split: efb42461fde7ee5b0c140d27f2789fdf9c98b100
59 lines
2.1 KiB
HTML
59 lines
2.1 KiB
HTML
{%- macro format_date(date, short, language_strings="") -%}
|
|
|
|
{#- Set locale -#}
|
|
{%- set date_locale = macros_translate::translate(key="date_locale", default="en_GB", language_strings=language_strings) -%}
|
|
|
|
{#- Check for language-specific date formats -#}
|
|
{%- set language_format = "" -%}
|
|
{%- if config.extra.date_formats -%}
|
|
{%- for format_config in config.extra.date_formats -%}
|
|
{%- if format_config.lang == lang -%}
|
|
{%- if short and format_config.short -%}
|
|
{%- set_global language_format = format_config.short -%}
|
|
{%- elif not short and format_config.long -%}
|
|
{%- set_global language_format = format_config.long -%}
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
{%- endfor -%}
|
|
{%- endif -%}
|
|
|
|
{%- if language_format -%}
|
|
{{ date | date(format=language_format, locale=date_locale) }}
|
|
{%- elif config.extra.short_date_format and short -%}
|
|
{{ date | date(format=config.extra.short_date_format, locale=date_locale) }}
|
|
{%- elif config.extra.long_date_format and not short -%}
|
|
{{ date | date(format=config.extra.long_date_format, locale=date_locale) }}
|
|
{%- elif not config.extra.short_date_format and date_locale == "en_GB" -%}
|
|
{%- set day = date | date(format='%-d') | int -%}
|
|
|
|
{%- if day in [11, 12, 13] -%}
|
|
{%- set suffix = "th" -%}
|
|
{%- else -%}
|
|
{%- set last_digit = day % 10 -%}
|
|
{%- if last_digit == 1 -%}
|
|
{%- set suffix = "st" -%}
|
|
{%- elif last_digit == 2 -%}
|
|
{%- set suffix = "nd" -%}
|
|
{%- elif last_digit == 3 -%}
|
|
{%- set suffix = "rd" -%}
|
|
{%- else -%}
|
|
{%- set suffix = "th" -%}
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
|
|
{#- Return the date. -#}
|
|
{{ date | date(format="%-d") }}{{ suffix }}
|
|
{%- if short == true -%}
|
|
{{ date | date(format=" %b %Y") }}
|
|
{%- else -%}
|
|
{{ date | date(format=" %B %Y") }}
|
|
{%- endif -%}
|
|
{%- else -%}
|
|
{%- if short -%}
|
|
{{ date | date(format="%-d %b %Y", locale=date_locale) }}
|
|
{%- else -%}
|
|
{{ date | date(format="%d %b %Y", locale=date_locale) }}
|
|
{%- endif -%}
|
|
{%- endif -%}
|
|
|
|
{%- endmacro -%}
|