196 lines
6.7 KiB
HTML
196 lines
6.7 KiB
HTML
<!-- The Head -->
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#f7f7f7">
|
|
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#1b1b1e">
|
|
<meta name="mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
|
<meta name="viewport"
|
|
content="width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover">
|
|
|
|
{%- capture seo_tags -%}
|
|
{% seo title=false %}
|
|
{%- endcapture -%}
|
|
|
|
<!-- Setup Open Graph image -->
|
|
|
|
{% if page.image %}
|
|
{% assign src = page.image.path | default: page.image %}
|
|
|
|
{% unless src contains '://' %}
|
|
{%- capture img_url -%}
|
|
{% include media-url.html src=src subpath=page.media_subpath absolute=true %}
|
|
{%- endcapture -%}
|
|
|
|
{%- capture old_url -%}{{ src | absolute_url }}{%- endcapture -%}
|
|
{%- capture new_url -%}{{ img_url }}{%- endcapture -%}
|
|
|
|
{% assign seo_tags = seo_tags | replace: old_url, new_url %}
|
|
{% endunless %}
|
|
|
|
{% elsif site.social_preview_image %}
|
|
{%- capture img_url -%}
|
|
{% include media-url.html src=site.social_preview_image absolute=true %}
|
|
{%- endcapture -%}
|
|
|
|
{%- capture og_image -%}
|
|
<meta property="og:image" content="{{ img_url }}" />
|
|
{%- endcapture -%}
|
|
|
|
{%- capture twitter_image -%}
|
|
<meta name="twitter:card" content="summary_large_image" />
|
|
<meta property="twitter:image" content="{{ img_url }}" />
|
|
{%- endcapture -%}
|
|
|
|
{% assign old_meta_clip = '<meta name="twitter:card" content="summary" />' %}
|
|
{% assign new_meta_clip = og_image | append: twitter_image %}
|
|
{% assign seo_tags = seo_tags | replace: old_meta_clip, new_meta_clip %}
|
|
{% endif %}
|
|
|
|
{{ seo_tags }}
|
|
|
|
<title>
|
|
{%- unless page.layout == 'home' -%}
|
|
{{ page.title | append: ' | ' }}
|
|
{%- endunless -%}
|
|
{{ site.title }}
|
|
</title>
|
|
|
|
{% include_cached favicons.html %}
|
|
|
|
<!-- Resource Hints -->
|
|
{% unless site.assets.self_host.enabled %}
|
|
{% for hint in site.data.origin.cors.resource_hints %}
|
|
{% for link in hint.links %}
|
|
<link rel="{{ link.rel }}" href="{{ hint.url }}" {{ link.opts | join: ' ' }}>
|
|
{% endfor %}
|
|
{% endfor %}
|
|
{% endunless %}
|
|
|
|
<!-- Bootstrap -->
|
|
{% unless jekyll.environment == 'production' %}
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
|
|
{% endunless %}
|
|
|
|
<!-- Theme style -->
|
|
<link rel="stylesheet" href="{{ '/assets/css/:THEME.css' | replace: ':THEME', site.theme | relative_url }}">
|
|
|
|
<!-- Web Font -->
|
|
<link rel="stylesheet" href="{{ site.data.origin[type].webfonts | relative_url }}">
|
|
|
|
<!-- Font Awesome Icons -->
|
|
<link rel="stylesheet" href="{{ site.data.origin[type].fontawesome.css | relative_url }}">
|
|
|
|
<!-- 3rd-party Dependencies -->
|
|
|
|
{% if site.toc and page.toc %}
|
|
<link rel="stylesheet" href="{{ site.data.origin[type].toc.css | relative_url }}">
|
|
{% endif %}
|
|
|
|
{% if page.layout == 'post' or page.layout == 'page' or page.layout == 'home' %}
|
|
<link rel="stylesheet" href="{{ site.data.origin[type]['lazy-polyfill'].css | relative_url }}">
|
|
{% endif %}
|
|
|
|
{% if page.layout == 'page' or page.layout == 'post' %}
|
|
<!-- Image Popup -->
|
|
<link rel="stylesheet" href="{{ site.data.origin[type].glightbox.css | relative_url }}">
|
|
{% endif %}
|
|
|
|
<!-- Scripts -->
|
|
<script>
|
|
var serviceUrl = "{{site.custom-config.blog-services.service_url}}";
|
|
var serviceApiKey = "{{site.custom-config.blog-services.service_key}}";
|
|
var siteId = "{{site.url}}{{site.baseurl}}";
|
|
var postId = "{{page.slug}}";
|
|
var remark42Host = "{{ site.comments.remark42.host }}";
|
|
|
|
var postDetails = {
|
|
postUrl: "{{site.url}}{{site.baseurl}}{{page.url}}",
|
|
slug: "{{page.slug}}",
|
|
title: "{{page.title}}",
|
|
description: "{{page.description}}",
|
|
categories: [],
|
|
image: "{{page.image.path}}",
|
|
createdDate: "{{page.date}}",
|
|
modifiedDate: "{{page.last_modified_at | strip}}",
|
|
blogUrl: "{{site.url}}{{site.baseurl}}",
|
|
views: 0,
|
|
likes: 0,
|
|
comments: 0
|
|
};
|
|
|
|
function liquidArrayToJsonArray(){
|
|
var items = [];
|
|
{% for category in page.categories %}
|
|
{% assign cat = category %}
|
|
items.push("{{cat}}");
|
|
{% endfor %}
|
|
return items;
|
|
}
|
|
|
|
postDetails.categories = liquidArrayToJsonArray();
|
|
|
|
function ajax(url, type, payload) {
|
|
if (payload === undefined) {
|
|
payload = null;
|
|
}
|
|
return new Promise(function (resolve, reject) {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.onload = function () {
|
|
resolve(this.responseText);
|
|
};
|
|
xhr.onerror = reject;
|
|
xhr.open(type, url);
|
|
xhr.setRequestHeader('XApiKey', serviceApiKey);
|
|
xhr.setRequestHeader('Content-Type', 'application/json');
|
|
xhr.setRequestHeader('ngsw-bypass', '');
|
|
xhr.send(JSON.stringify(payload));
|
|
});
|
|
}
|
|
</script>
|
|
{% if jekyll.environment == 'production' and site.google_analytics.id != empty and site.google_analytics.id %}
|
|
<!-- Google Tag Manager -->
|
|
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
|
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
|
})(window,document,'script','dataLayer','GTM-W4PKSB86');</script>
|
|
<!-- End Google Tag Manager -->
|
|
|
|
<!-- Microsoft Clarity -->
|
|
<script type="text/javascript">
|
|
(function(c,l,a,r,i,t,y){
|
|
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
|
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
|
|
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
|
})(window, document, "clarity", "script", "ils01ejdug");
|
|
</script>
|
|
<!-- End Microsoft Clarity -->
|
|
{% endif %}
|
|
|
|
<script src="{{ '/assets/js/dist/theme.min.js' | relative_url }}"></script>
|
|
|
|
{% include js-selector.html lang=lang %}
|
|
|
|
{% if jekyll.environment == 'production' %}
|
|
<!-- PWA -->
|
|
{% if site.pwa.enabled %}
|
|
<script
|
|
defer
|
|
src="{{ '/app.min.js' | relative_url }}?baseurl={{ site.baseurl | default: '' }}®ister={{ site.pwa.cache.enabled }}"
|
|
></script>
|
|
{% endif %}
|
|
|
|
<!-- Web Analytics -->
|
|
{% for analytics in site.analytics %}
|
|
{% capture str %}{{ analytics }}{% endcapture %}
|
|
{% assign platform = str | split: '{' | first %}
|
|
{% if site.analytics[platform].id and site.analytics[platform].id != empty %}
|
|
{% include analytics/{{ platform }}.html %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{% endif %}
|
|
|
|
{% include metadata-hook.html %}
|
|
</head> |