{%- 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 %}