julienmonnerie/site/snippets/metadata.twig

73 lines
3 KiB
Twig
Raw Normal View History

2022-07-07 16:04:23 +02:00
{# Basic metadata #}
2022-06-17 17:51:59 +02:00
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
2022-07-07 16:04:23 +02:00
{# Schema #}
2022-06-17 17:51:59 +02:00
<style itemscope itemtype="https://schema.org/WebSite" itemref="schema_name schema_description schema_image"></style>
2022-07-07 16:04:23 +02:00
{# Title #}
2022-06-17 17:51:59 +02:00
<title>{{ site.title }} | {{ page.title }}</title>
<meta id="schema_name" itemprop="name" content="{{ site.title }} | {{ page.title }}">
2022-07-07 16:04:23 +02:00
{# Description #}
2022-06-17 17:51:59 +02:00
{% if page.meta_description is not empty %}
<meta name="description" content="{{ page.meta_description }}">
<meta id="schema_description" itemprop="description" content="{{ page.meta_description }}">
{% elseif site.homePage.meta_description is not empty %}
<meta name="description" content="{{ site.homePage.meta_description }}">
<meta id="schema_description" itemprop="description" content="{{ site.homePage.meta_description }}">
{% endif %}
2022-07-07 16:04:23 +02:00
{# Canonical URL #}
2022-06-17 17:51:59 +02:00
<link rel="canonical" href="{{ page.url }}">
2022-07-07 16:04:23 +02:00
{# Author #}
2022-06-17 17:51:59 +02:00
<meta name="author" content="{{ site.title }}">
2022-07-07 16:04:23 +02:00
{# Date #}
2022-06-17 17:51:59 +02:00
<meta name="date" content="{{ page.modified('Y-m-d') }}">
2022-07-07 16:04:23 +02:00
{# Image #}
2022-06-17 17:51:59 +02:00
{% if page.meta_image is not empty %}
<meta id="schema_image" itemprop="image" content="{{ page.meta_image.toImage.url }}">
2022-06-17 17:51:59 +02:00
{% elseif site.homePage.meta_image is not empty %}
<meta id="schema_image" itemprop="image" content="{{ site.homePage.meta_image.toImage.url }}">
2022-06-17 17:51:59 +02:00
{% endif %}
{% if page.template != 'error' %}
2022-07-07 16:04:23 +02:00
{# Open Graph #}
2022-06-17 17:51:59 +02:00
<meta property="og:title" content="{{ site.title ~ ' | ' ~ page.title }}">
{% if page.meta_description is not empty %}
<meta property="og:description" content="{{ page.meta_description }}">
{% elseif site.homePage.meta_description is not empty %}
<meta property="og:description" content="{{ site.homePage.meta_description }}">
{% endif %}
{% if page.meta_image is not empty %}
<meta property="og:image" content="{{ page.meta_image.toImage.clip(1200, 675).url }}">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="675">
{% elseif site.homePage.meta_image is not empty %}
<meta property="og:image" content="{{ site.homePage.meta_image.toImage.clip(1200, 675).url }}">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="675">
{% endif %}
<meta property="og:url" content="{{ page.url }}">
<meta property="og:type" content="{{ page.og_type }}">
2022-07-07 16:04:23 +02:00
{# Twitter Card #}
2022-06-17 17:51:59 +02:00
<meta name="twitter:card" content="{{ page.twitter_card_type.value }}">
<meta name="twitter:title" content="{{ site.title ~ ' | ' ~ page.title }}">
{% if page.meta_description is not empty %}
<meta name="twitter:description" content="{{ page.meta_description }}">
{% elseif site.homePage.meta_description is not empty %}
<meta name="twitter:description" content="{{ site.homePage.meta_description }}">
{% endif %}
{% if page.meta_image is not empty %}
<meta name="twitter:image" content="{{ page.meta_image.toImage.clip(1200, 675).url }}">
{% elseif site.homePage.meta_image is not empty %}
<meta name="twitter:image" content="{{ site.homePage.meta_image.toImage.clip(1200, 675).url }}">
{% endif %}
{% endif %}