181 lines
6.1 KiB
HTML
181 lines
6.1 KiB
HTML
<head prefix="og: http://ogp.me/ns#">
|
|
<meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="mobile-web-app-capable" content="yes" />
|
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
<meta name="application-name" content="{{ site.title }}" />
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="#fff" />
|
|
<meta name="apple-mobile-web-app-title" content="{{ site.title }}" />
|
|
<title>
|
|
{% if page.title %}{{ page.title | escape }} - {{ site.title }}{% else %}{{
|
|
site.title | escape }}{% endif %}
|
|
</title>
|
|
<link
|
|
rel="alternate"
|
|
href="{{
|
|
page.url | remove: 'index.html' | remove: '.html' | absolute_url
|
|
}}"
|
|
hreflang="{{ site.lang }}"
|
|
/>
|
|
<link
|
|
rel="canonical"
|
|
href="{{
|
|
page.url | remove: 'index.html' | remove: '.html' | absolute_url
|
|
}}"
|
|
/>
|
|
{% if paginator.previous_page %}
|
|
<link
|
|
rel="prev"
|
|
href="{{
|
|
paginator.previous_page_path
|
|
| remove: 'index.html'
|
|
| remove: '.html'
|
|
}}"
|
|
/>
|
|
{% endif %} {% if paginator.next_page %}
|
|
<link
|
|
rel="next"
|
|
href="{{
|
|
paginator.next_page_path
|
|
| remove: 'index.html'
|
|
| remove: '.html'
|
|
}}"
|
|
/>
|
|
{% endif %}
|
|
<meta
|
|
name="description"
|
|
content="{{
|
|
page.description
|
|
| default: site.description
|
|
| strip_html
|
|
| normalize_whitespace
|
|
| truncate: 200
|
|
| escape
|
|
}}"
|
|
/>
|
|
<meta name="referrer" content="no-referrer-when-downgrade" />
|
|
<meta property="fb:app_id" content="{{ site.fb_appid }}" />
|
|
<meta
|
|
property="og:site_name"
|
|
content="{% if page.title %}{{ page.title | escape }} | {{
|
|
site.author.name
|
|
}}{% else %}{{ site.title | escape }}{% endif %}"
|
|
/>
|
|
<meta
|
|
property="og:title"
|
|
content="{% if page.title %}{{ page.title | escape }} | {{
|
|
site.author.name
|
|
}}{% else %}{{ site.title | escape }}{% endif %}"
|
|
/>
|
|
{% if page.location %}
|
|
<meta property="og:type" content="article" />
|
|
<meta
|
|
property="article:publisher"
|
|
content="https://web.facebook.com/{{ site.author.facebook }}"
|
|
/>
|
|
{% else %}
|
|
<meta property="og:type" content="website" />
|
|
{% endif %}
|
|
<meta
|
|
property="og:url"
|
|
content="{{
|
|
page.url | remove: 'index.html' | remove: '.html' | absolute_url
|
|
}}"
|
|
/>
|
|
<meta
|
|
property="og:description"
|
|
content="{{
|
|
page.description
|
|
| default: site.description
|
|
| strip_html
|
|
| normalize_whitespace
|
|
| truncate: 200
|
|
| escape
|
|
}}"
|
|
/>
|
|
{% if page.image %}
|
|
<meta property="og:image" content="{{ page.image | absolute_url }}" />
|
|
{% else %}
|
|
<meta property="og:image" content="{{ site.image | absolute_url }}" />
|
|
{% endif %}
|
|
<meta property="og:image:width" content="640" />
|
|
<meta property="og:image:height" content="640" />
|
|
<meta name="twitter:card" content="summary" />
|
|
<meta
|
|
name="twitter:title"
|
|
content="{% if page.title %}{{ page.title | escape }} | {{
|
|
site.author.twitter
|
|
}}{% else %}{{ site.title | escape }}{% endif %}"
|
|
/>
|
|
<meta
|
|
name="twitter:url"
|
|
content="{{
|
|
page.url | remove: 'index.html' | remove: '.html' | absolute_url
|
|
}}"
|
|
/>
|
|
<meta name="twitter:site" content="@{{ site.author.twitter }}" />
|
|
<meta name="twitter:creator" content="@{{ site.author.twitter }}" />
|
|
<meta
|
|
name="twitter:description"
|
|
content="{{
|
|
page.description
|
|
| default: site.description
|
|
| strip_html
|
|
| normalize_whitespace
|
|
| truncate: 200
|
|
| escape
|
|
}}"
|
|
/>
|
|
{% if page.image %}
|
|
<meta name="twitter:image" content="{{ page.image | absolute_url }}" />
|
|
{% else %}
|
|
<meta name="twitter:image" content="{{ site.image | absolute_url }}" />
|
|
{% endif %} {% feed_meta %}
|
|
<link rel="apple-touch-icon" sizes="57x57" href="/assets/favicons/apple-icon-57x57.png">
|
|
<link rel="apple-touch-icon" sizes="60x60" href="/assets/favicons/apple-icon-60x60.png">
|
|
<link rel="apple-touch-icon" sizes="72x72" href="/assets/favicons/apple-icon-72x72.png">
|
|
<link rel="apple-touch-icon" sizes="76x76" href="/assets/favicons/apple-icon-76x76.png">
|
|
<link rel="apple-touch-icon" sizes="114x114" href="/assets/favicons/apple-icon-114x114.png">
|
|
<link rel="apple-touch-icon" sizes="120x120" href="/assets/favicons/apple-icon-120x120.png">
|
|
<link rel="apple-touch-icon" sizes="144x144" href="/assets/favicons/apple-icon-144x144.png">
|
|
<link rel="apple-touch-icon" sizes="152x152" href="/assets/favicons/apple-icon-152x152.png">
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicons/apple-icon-180x180.png">
|
|
<link rel="icon" type="image/png" sizes="192x192" href="/assets/favicons/android-icon-192x192.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicons/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicons/favicon-96x96.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicons/favicon-16x16.png">
|
|
<link rel="manifest" href="/assets/favicons/manifest.json">
|
|
<meta name="msapplication-TileColor" content="#ffffff">
|
|
<meta name="msapplication-TileImage" content="/assets/favicons/ms-icon-144x144.png">
|
|
<meta name="theme-color" content="#ffffff">
|
|
|
|
<link rel="stylesheet" href="/assets/css/style.css" />
|
|
<script>
|
|
function prepareCodersrank() {
|
|
var placeholders = document.getElementsByClassName("cr-placeholder");
|
|
if (localStorage.getItem("load-codersrank")) {
|
|
loadCodersrank();
|
|
} else {
|
|
for (ph of placeholders) {
|
|
ph.addEventListener("click", e => {
|
|
e.preventDefault();
|
|
console.log(e);
|
|
localStorage.setItem("load-codersrank", true);
|
|
loadCodersrank();
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
function loadCodersrank() {
|
|
var script = document.createElement("script");
|
|
script.src = "https://unpkg.com/@codersrank/activity/codersrank-activity.min.js";
|
|
for (ph of document.getElementsByClassName("cr-placeholder")) {
|
|
ph.parentElement.innerHTML = ph.childNodes[0].data;
|
|
}
|
|
document.head.appendChild(script);
|
|
}
|
|
</script>
|
|
</head>
|