{%- 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 %}
{%- if info.append %}{{ info.append }}{% endif %}
{%- if not loop.last %}{{ info_sep | safe }}{% endif %}
{%- endif %}
{%- elif info.when == "date_updated" %}{%
if page.updated and page.updated != page.date %}{%
if info.prepend %}{{ info.prepend }}{% endif %}
{%- if info.append %}{{ info.append }}{% endif %}
{%- if not loop.last %}{{ info_sep | safe }}{% endif %}
{%- endif %}
{%- elif info.when == "reading_time" %}{%
if info.prepend %}{{ info.prepend }}{% endif %}{%
set reading_time_minutes = page.reading_time % 60 %}
{%- if info.append %}{{ info.append }}{% endif %}
{%- if not loop.last %}{{ info_sep | safe }}{% endif %}
{%- elif info.when == "word_count" %}{%
if info.prepend %}{{ info.prepend }}{% endif %}{{
page.word_count }} {{ m_i18n::tr(key=`word_words`, lk=g_lang_k, d=g_trans_d) }}
{%- if info.append %}{{ info.append }}{% endif %}
{%- if not loop.last %}{{ info_sep | safe }}{% 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 %}{{
m_profiles::get_name(username=page_author) }}
{%- endfor %}
{%- if info.append %}{{ info.append }}{% endif %}
{%- if not loop.last %}{{ info_sep | safe }}{% 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 %}#{{ page_tag }}{%
else %}#{{ page_tag }}{% endif %}
{%- endfor %}
{%- if info.append %}{{ info.append }}{% endif %}
{%- if not loop.last %}{{ info_sep | safe }}{% endif %}
{%- endif %}
{%- elif info.when == "" %}{{
info.prepend | safe }}
{%- else %}{{
throw(message="page info is not valid, unknown 'when': '" ~ info.when ~ "'") }}
{%- endif %}
{%- endfor %}