{# title #} {% if title is not defined or title is empty %} {%- set title_divider = page.metatags.title.divider|default(site.metatags.title.divider|default(' · ')) %} {%- set title_only = page.metatags.title.only|default(site.metatags.title.only|default(false)) %} {%- set title_pagination_shownumber = page.metatags.title.pagination.shownumber|default(site.metatags.title.pagination.shownumber ?? true) %} {%- set title_pagination_label = page.metatags.title.pagination.label|default(site.metatags.title.pagination.label|default('Page %s')) %} {%- set title = page.title|e ~ title_divider ~ site.title|e %} {%- if title_only %} {%- set title = page.title|e %} {%- endif %} {%- if page.type == 'homepage' %} {%- set title = site.title|e ~ title_divider ~ site.baseline|default('')|e %} {%- if title_only or site.baseline|default('') is empty %} {%- set title = site.title|e %} {%- endif %} {%- endif %} {%- if page.paginator.current|default(0) > 1 %} {%- if title_pagination_shownumber %} {%- set title = page.title|e ~ title_divider ~ title_pagination_label|format(page.paginator.current) ~ title_divider ~ site.title|e %} {%- if title_only %} {%- set title = page.title|e ~ title_divider ~ title_pagination_label|format(page.paginator.current) %} {%- endif %} {%- endif %} {%- endif %} {% endif %} {# description #} {% set description = page.description|default(site.description)|e %} {# keywords / tags #} {% set keywords = page.tags|default([])|merge(site.keywords|default([]))|e %} {# author #} {% set author = page.author|default(site.author|default(''))|e %} {% if author is not empty %} {%- if author is not iterable %} {%- set author = {'name': author} %} {%- endif %} {%- if author.firstname is defined and author.lastname is defined %} {%- set author = author|merge({'name': author.firstname|e ~ ' ' ~ author.lastname|e}) %} {%- endif %} {% endif %} {# robots #} {% set robots = page.metatags.robots|default(site.metatags.robots|default('index,follow')) %} {% if page.paginator.current|default(0) > 1 %} {%- set robots = 'noindex,follow' %} {% endif %} {# favicon #} {% if site.metatags.favicon.enabled ?? true %} {%- set favicon_defaults = { 'icon': [32, 57, 76, 96, 128, 192, 228], 'shortcut icon': [196], 'apple-touch-icon': [120, 152, 180], } -%} {% endif %} {# image #} {% if image is not defined or image is empty %} {%- set image = page.image|default(site.image|default()) %} {% endif %} {# open graph #} {% set opengraph = { 'locale': site.language.locale, 'site_name': site.title, 'type': 'website', 'title': block('title'), 'description': block('description'), 'url': url(page, {canonical: true}), } %} {% if image %} {%- if image is not asset %} {%- set image_asset = asset(image) %} {%- else %} {%- set image_asset = image %} {%- endif %} {%- set opengraph = opengraph|merge({'image': image_asset|resize(1200)}) %} {% endif %} {% if page.section == site.metatags.articles|default('blog') %} {%- set opengraph = opengraph|merge({'type': 'article'}) %} {% endif %} {% if page.opengraph is defined or site.opengraph is defined %} {%- set opengraph = opengraph|merge(page.opengraph|default(site.opengraph)) %} {% endif %} {#- template #} {% block title %}{{ title }}{% endblock %} {%- if keywords ~%} {%- endif ~%} {%- if author ~%} {%- endif ~%} {#- template: favicon ~#} {%- if site.metatags.favicon.enabled ?? true and asset(site.metatags.favicon.image|default('favicon.png'), {'ignore_missing': true}) is not empty ~%} {%- for favicon_variant, favicon_sizes in site.metatags.favicon.sizes|default(favicon_defaults) -%} {%- for size in favicon_sizes ~%} {%- set favicon_asset = asset(site.metatags.favicon.image|default('favicon.png'), {'ignore_missing': true}) -%} {%- if not favicon_asset.missing ~%} {%- endif -%} {%- endfor -%} {%- endfor -%} {%- endif ~%} {#- template: alternates ~#} {%- include 'partials/alternates.html.twig' with {'title': title, 'page': page} only ~%} {#- template: alternates languages ~#} {%- include 'partials/alternates-languages.html.twig' with {'page': page} only ~%} {#- template: Open Graph ~#} {%- if opengraph.image is defined ~%} {%- endif -%}