summaryrefslogtreecommitdiff
path: root/sysret.org/themes/tabi-lean/templates/macros/format_date.html
blob: f747fd15da7e47ca0de96e60a25290a3c13153d1 (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
{%- 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 -%}