11ty-theme/src/_includes/partials/metas.html

81 lines
2.7 KiB
HTML

{% set pageTitle = title + ' - ' + site.title %}
{# We don't want any duplication. This is likely for the home page. #}
{% if site.title === title %}
{% set pageTitle = title %}
{% endif %}
{% set siteTitle = site.title %}
{% set currentUrl = site.url + page.url %}
{% if not socialImage %}
{% set socialImage = site.url + '/images/meta/social-share.png' %}
{% endif %}
{# If the page's Front Matter has specific metaTitle and/or metaDesc items, switch them into the mix. #}
{% if metaTitle %}
{% set pageTitle = metaTitle %}
{% endif %}
{% if not metaDesc %}
{% set metaDesc = summary %}
{% endif %}
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="generator" content="{{ eleventy.generator }}">
<title>{{ pageTitle }}</title>
<link rel="canonical" href="{{ currentUrl }}" />
<meta property="og:site_name" content="{{ siteTitle }}" />
<meta property="og:title" content="{{ pageTitle }}" />
<meta property="og:type" content="website" />
<meta property="og:url" content="{{ currentUrl }}" />
{% if socialImage %}
<meta name="twitter:card" content="summary_large_image" />
<meta property="og:image" content="{{ socialImage }}" />
<meta name="twitter:image" content="{{ socialImage }}" />
<meta property="og:image:alt" content="Page image for {{ site.title }}" />
<meta name="twitter:image:alt" content="Page image for {{ site.title }}" />
{% endif %}
{% if metaDesc %}
<meta name="description" content="{{ metaDesc }}" />
<meta name="twitter:description" content="{{ metaDesc }}" />
<meta property="og:description" content="{{ metaDesc }}" />
{% endif %}
<link rel="alternate" type="application/rss+xml" href="{{ site.url }}/{{ site.feed }}">
<link rel="icon" href="/images/meta/favicon.ico" sizes="any">
<link rel="icon" href="/images/meta/favicon.svg" type="image/svg+xml">
{% if site.theme == "auto" %}
<meta name="color-scheme" content="light dark">
<script>{% include "js/theme-toggle.js" %}</script>
{% else %}
<meta name="color-scheme" content={{site.theme}}>
{% endif %}
<style>
{% if site.theme == "auto" %}
{% fetch "https://cdn.jsdelivr.net/npm/theme-toggles@4.10.1/css/around.min.css", "css" %}
{% endif %}
{% include "css/critical.css" %}
</style>
{# Add facility for pages to delare an array of critical styles #}
{% if pageCriticalStyles %}
{% for item in pageCriticalStyles %}
<style>{% include item %}</style>
{% endfor %}
{% endif %}
{# Add facility for pages to declare an array of stylesheet paths #}
{% if pageStylesheets %}
{% for item in pageStylesheets %}
<link rel="stylesheet" media="print" href="{{ item }}?{{ assetHash }}" onload="this.media='all'" />
{% endfor %}
{% endif %}