99 lines
4.9 KiB
HTML
99 lines
4.9 KiB
HTML
<!-- Page Info -->
|
|
<div class="text-sm antialiased opacity-80">
|
|
{%- set is_paginator = paginator is defined %}
|
|
{%- if page.extra.page_info is defined %}
|
|
{%- set page_info = page.extra.page_info %}
|
|
{%- elif section.extra.page_info is defined %}
|
|
{%- set page_info = section.extra.page_info %}
|
|
{%- elif is_paginator %}
|
|
{%- if config.extra.languages[lang].page_info_on_paginator is defined %}
|
|
{%- set page_info = config.extra.languages[lang].page_info_on_paginator %}
|
|
{%- elif config.extra.page_info_on_paginator is defined %}
|
|
{%- set page_info = config.extra.page_info_on_paginator %}
|
|
{%- else %}
|
|
{%- set page_info = load_data(literal=`[{"when": "date"}, {"when": "reading_time"}]`, format=`json`) %}
|
|
{%- endif %}
|
|
{%- elif config.extra.languages[lang].page_info is defined %}
|
|
{%- set page_info = config.extra.languages[lang].page_info %}
|
|
{%- elif config.extra.page_info is defined %}
|
|
{%- set page_info = config.extra.page_info %}
|
|
{%- else %}
|
|
{%- set page_info = load_data(literal=`[{"when": "date"}, {"when": "date_updated", "prepend": "(", "append": ")"}, {"when": "reading_time"}]`, format=`json`) %}
|
|
{%- endif %}
|
|
{%- set date_format = config.extra.languages[lang].date_format | default(value="%F") %}
|
|
{%- set info_sep = m_i18n::tr(key=`middot`, lk=g_lang_k, d=g_trans_d) %}
|
|
|
|
{%- for info in page_info %}
|
|
{%- if info.when == "date" %}{%
|
|
if page.date %}{%
|
|
if info.prepend %}{{ info.prepend }}{% endif %}<time
|
|
datetime="{{ page.date | date(format=`%+`) }}">{%
|
|
if config.extra.languages[lang].locale %}{{
|
|
page.date | date(format=date_format, locale=config.extra.languages[lang].locale) }}{%
|
|
else %}{{ page.date | date(format=date_format) }}{% endif %}</time>
|
|
{%- if info.append %}{{ info.append }}{% endif %}
|
|
{%- if not loop.last %}<span
|
|
class="mx-1">{{ info_sep | safe }}</span>{% endif %}
|
|
{%- endif %}
|
|
{%- elif info.when == "date_updated" %}{%
|
|
if page.updated and page.updated != page.date %}{%
|
|
if info.prepend %}{{ info.prepend }}{% endif %}<time
|
|
datetime="{{ page.updated | date(format=`%+`) }}">{%
|
|
if config.extra.languages[lang].locale %}{{
|
|
page.updated | date(format=date_format, locale=config.extra.languages[lang].locale) }}{%
|
|
else %}{{ page.updated | date(format=date_format) }}{% endif %}</time>
|
|
{%- if info.append %}{{ info.append }}{% endif %}
|
|
{%- if not loop.last %}<span
|
|
class="mx-1">{{ info_sep | safe }}</span>{% endif %}
|
|
{%- endif %}
|
|
{%- elif info.when == "reading_time" %}{%
|
|
if info.prepend %}{{ info.prepend }}{% endif %}{%
|
|
set reading_time_minutes = page.reading_time % 60 %}<time
|
|
datetime="PT{{ (page.reading_time - reading_time_minutes) / 60 }}H{{ reading_time_minutes }}M0S">{{
|
|
page.reading_time }} {{ m_i18n::tr(key=`word_minutes`, lk=g_lang_k, d=g_trans_d) }}</time>
|
|
{%- if info.append %}{{ info.append }}{% endif %}
|
|
{%- if not loop.last %}<span
|
|
class="mx-1">{{ info_sep | safe }}</span>{% endif %}
|
|
{%- elif info.when == "word_count" %}{%
|
|
if info.prepend %}{{ info.prepend }}{% endif %}<span>{{
|
|
page.word_count }} {{ m_i18n::tr(key=`word_words`, lk=g_lang_k, d=g_trans_d) }}</span>
|
|
{%- if info.append %}{{ info.append }}{% endif %}
|
|
{%- if not loop.last %}<span
|
|
class="mx-1">{{ info_sep | safe }}</span>{% endif %}
|
|
{%- elif info.when == "authors" %}{%
|
|
if page.taxonomies.authors %}{% set page_authors = page.taxonomies.authors %}{%
|
|
elif page.authors %}{% set page_authors = page.authors %}{%
|
|
elif config.author %}{% set page_authors = [config.author] %}{%
|
|
else %}{% endif %}{%
|
|
if page_authors %}{%
|
|
if info.prepend %}{{ info.prepend }}{% endif %}{%
|
|
for page_author in page_authors %}{%
|
|
if not loop.first %}, {% endif %}<span>{{
|
|
m_profiles::get_name(username=page_author) }}</span>
|
|
{%- endfor %}
|
|
{%- if info.append %}{{ info.append }}{% endif %}
|
|
{%- if not loop.last %}<span
|
|
class="mx-1">{{ info_sep | safe }}</span>{% endif %}
|
|
{%- endif %}
|
|
{%- elif info.when == "tags" %}{%
|
|
if page.taxonomies.tags %}{%
|
|
if info.prepend %}{{ info.prepend }}{% endif %}{%
|
|
for page_tag in page.taxonomies.tags %}{%
|
|
if not loop.first %} {% endif %}{%
|
|
if is_paginator %}<span>#{{ page_tag }}</span>{%
|
|
else %}<a
|
|
class="no-underline hover:underline"
|
|
href="{{ m_url::rel(there=get_taxonomy_url(kind=`tags`, name=page_tag, lang=lang),
|
|
here=g_here, base=g_base) }}">#{{ page_tag }}</a>{% endif %}
|
|
{%- endfor %}
|
|
{%- if info.append %}{{ info.append }}{% endif %}
|
|
{%- if not loop.last %}<span
|
|
class="mx-1">{{ info_sep | safe }}</span>{% endif %}
|
|
{%- endif %}
|
|
{%- elif info.when == "" %}{{
|
|
info.prepend | safe }}
|
|
{%- else %}{{
|
|
throw(message="page info is not valid, unknown 'when': '" ~ info.when ~ "'") }}
|
|
{%- endif %}
|
|
{%- endfor %}
|
|
</div>
|