117 lines
5.5 KiB
Text
117 lines
5.5 KiB
Text
{%- capture fullUrl %}{{ meta.url }}{{ page.url }}{% endcapture -%}
|
|
{%- capture pageTitle %}{% if title %}{{ title }} // {% endif %}{{meta.siteName}}{% endcapture -%}
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>{{ pageTitle }}</title>
|
|
<link rel="preload" href="/assets/fonts/Poppins-Bold.min.woff2" as="font" type="font/woff2" crossorigin>
|
|
<link rel="preload" href="/assets/fonts/Poppins-Regular.min.woff2" as="font" type="font/woff2" crossorigin>
|
|
{% capture css %}
|
|
{% render "../assets/styles/partials/fonts.css" %}
|
|
{% render "../assets/styles/partials/vars.css" %}
|
|
{% render "../assets/styles/partials/animations.css" %}
|
|
{% render "../assets/styles/index.css" %}
|
|
{% endcapture %}
|
|
<style>{{ css }}</style>
|
|
{% capture js %}
|
|
{% render "../assets/scripts/index.js" %}
|
|
{% endcapture %}
|
|
<script>{{ js }}</script>
|
|
<script src="https://cdn.usefathom.com/script.js" data-site="CWSVCDJC" defer></script>
|
|
<link rel="canonical" href="{{ fullUrl }}" />
|
|
<meta property="og:title" content="{{ pageTitle }}" />
|
|
<meta name="description" content="{% if description %}{{ description }}{% else %}{{ meta.siteDescription }}{% endif %}" />
|
|
<meta property="og:description" content="{% if description %}{{ description }}{% else %}{{ meta.siteDescription }}{% endif %}" />
|
|
<meta property="og:type" content="article" />
|
|
<meta property="og:url" content="{{ fullUrl }}" />
|
|
<meta
|
|
property="og:image"
|
|
content="{%- if schema == 'blog' %}{{ meta.url }}/assets/img/social-preview/{{ title | slugify }}-preview.jpeg{%- else -%}{{ meta.meta_data.opengraph_default }}{% endif -%}"
|
|
/>
|
|
<meta name="theme-color" content="{{ meta.themeColor }}" />
|
|
<meta name="generator" content="{{ eleventy.generator }}">
|
|
<meta name="robots" content="noai, noimageai">
|
|
<link href="/assets/icons/favicon.ico?v={% appVersion %}" rel="icon" sizes="any">
|
|
<link href="/assets/icons/favicon.svg?v={% appVersion %}" rel="icon" type="image/svg+xml">
|
|
<link href="/assets/icons/apple-touch-icon.png?v={% appVersion %}" rel="apple-touch-icon">
|
|
<link rel="webmention" href="https://webmention.io/coryd.dev/webmention" />
|
|
<link rel="pingback" href="https://webmention.io/coryd.dev/xmlrpc" />
|
|
<link type="application/atom+xml" rel="alternate" title="{{ meta.siteName }}" href="https://feedpress.me/coryd">
|
|
<link rel="alternate" type="application/json" title="{{ meta.siteName }}" href="https://feedpress.me/coryd.json" />
|
|
<link rel="alternate" href="https://feedpress.me/coryd-follow" title="Cory Dransfeldt's activity feed" type="application/rss+xml">
|
|
<link rel="alternate" href="https://feedpress.me/coryd-links" title="Cory Dransfeldt's links feed" type="application/rss+xml">
|
|
<link rel="alternate" href="https://feedpress.me/coryd-books" title="Cory Dransfeldt's books feed" type="application/rss+xml">
|
|
<link type="text/plain" rel="author" href="https://coryd.dev/humans.txt" />
|
|
{% if schema == 'blog' %}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@type": "BlogPosting",
|
|
"mainEntityOfPage": {
|
|
"@type": "WebPage"
|
|
},
|
|
"isPartOf": {
|
|
"@id": "{{ meta.url }}#website"
|
|
},
|
|
"@id": "{{ fullUrl }}",
|
|
"headline": "{{ pageTitle }}",
|
|
"description": "{% if description %}{{ description }}{% else %}{{ meta.siteDescription }}{% endif %}",
|
|
"image": "{% if image %}{{ image }}{% else %}{{ meta.meta_data.opengraph_default }}{% endif %}",
|
|
"inLanguage": "{{ meta.locale }}",
|
|
"publisher": {
|
|
"@type": "{{ meta.siteType }}",
|
|
"name": "{{ meta.author }}",
|
|
"url": "{{ meta.url }}"
|
|
},
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "{{ meta.author }}"
|
|
},
|
|
"datePublished": "{{ page.date | isoDateOnly: '.' }}"
|
|
}
|
|
</script>
|
|
{% else %}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "https://schema.org",
|
|
"@graph": [
|
|
{
|
|
"@type": "WebSite",
|
|
"@id": "{{ meta.url }}#website",
|
|
"url": "{{ meta.url }}",
|
|
"name": "{{ pageTitle }}",
|
|
"description": "{% if description %}{{ description }}{% else %}{{ meta.siteDescription }}{% endif %}",
|
|
"inLanguage": "{{ meta.locale }}"
|
|
}
|
|
]
|
|
}
|
|
</script>
|
|
{% endif %}
|
|
<noscript>
|
|
<style>.client-side {display:none}</style>
|
|
<img style="display:none" src="/api/event?ns=true&site={{ meta.url | url_encode }}&page={{ page.url | url_encode }}" />
|
|
</noscript>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
(() => {
|
|
const currentTheme = sessionStorage?.getItem('theme');
|
|
const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)').matches;
|
|
const root = document.getElementsByTagName('html')[0];
|
|
if (!currentTheme) sessionStorage?.setItem('theme', (prefersDarkScheme ? 'dark' : 'light'))
|
|
if (currentTheme === 'dark') {
|
|
root.classList.add('theme__dark')
|
|
} else if (currentTheme === 'light') {
|
|
root.classList.add('theme__light')
|
|
} else if (prefersDarkScheme) {
|
|
root.classList.add('theme__dark')
|
|
} else if (!prefersDarkScheme) {
|
|
root.classList.add('theme__light')
|
|
}
|
|
})();
|
|
</script>
|
|
{{ content }}
|
|
</body>
|
|
</html>
|