91 lines
3.1 KiB
HTML
91 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width">
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
|
|
{% block titlevariable %}
|
|
{% set title = "Shadowfacts" %}
|
|
{% endblock %}
|
|
<title>{{ title }}</title>
|
|
|
|
<link rel="cannonical" href="https://{{ _domain }}{{ _permalink }}">
|
|
<link rel="alternate" type="application/rss+xml" title="Shadowfacts" href="https://{{ _domain }}/feed.xml">
|
|
|
|
<link rel="icon" href="/favicon.ico">
|
|
<link rel="apple-touch-icon-precomposed" href="/favicon-152.png">
|
|
<meta name="msapplication-TileColor" content="#F9C72F">
|
|
<meta name="msapplication-TileImage" content="/favicon-152.png">
|
|
|
|
<meta name="twitter:card" content="summary">
|
|
<meta property="og:title" content="{{ title }}">
|
|
{% block image %}
|
|
<meta property="twitter:image" content="https://{{ _domain }}/shadowfacts.png">
|
|
<meta property="og:image" content="https://{{ _domain }}/shadowfacts.png">
|
|
{% endblock %}
|
|
<meta property="og:url" content="https://{{ _domain }}{{ _permalink }}">
|
|
<meta property="og:site_name" content="Shadowfacts">
|
|
<meta name="fediverse:creator" content="@shadowfacts@social.shadowfacts.net">
|
|
|
|
{% block head %}{% endblock %}
|
|
|
|
<link rel="stylesheet" href="/css/main.css?{{ _stylesheet_cache_buster }}">
|
|
</head>
|
|
<body itemscope itemtype="https://schema.org/Blog">
|
|
|
|
<header>
|
|
<div class="container">
|
|
<h1><a href="/">Shadowfacts</a></h1>
|
|
<p id="epigraph">The outer part of a shadow is called the penumbra.</p>
|
|
</div>
|
|
</header>
|
|
|
|
<main>
|
|
<div class="container">
|
|
{% block content %}{% endblock %}
|
|
|
|
{% if _permalink != "/" %}
|
|
<hr>
|
|
{% endif %}
|
|
</div>
|
|
</main>
|
|
|
|
<footer>
|
|
<div class="container">
|
|
<ul>
|
|
{% set footer_links = [
|
|
"Archive", "/archive/",
|
|
"Colophon", "/colophon/",
|
|
"Contact", "/elsewhere/"
|
|
] %}
|
|
{% block footer_links %}
|
|
{% set additional_links = [] %}
|
|
{% endblock %}
|
|
{% set sorted_links = footer_links | concat(with=additional_links) | zip | sort(attribute="0") %}
|
|
{% for link in sorted_links %}
|
|
<li><a href="{{ link.1 }}">{{ link.0 }}</a></li>
|
|
{% endfor %}
|
|
</ul>
|
|
{% block after_footer_links %}
|
|
{% endblock %}
|
|
<p>Generated on {{ _generated_at | pretty_date }}, by <a href="https://git.shadowfacts.net/shadowfacts/v7">v7</a>.</p>
|
|
</div>
|
|
</footer>
|
|
|
|
<script data-goatcounter="https://shadowfacts.goatcounter.com/count" defer src="//gc.zgo.at/count.v3.js" crossorigin="anonymous"></script>
|
|
|
|
{% if _development %}
|
|
<script>
|
|
let ws = new WebSocket("/_dev/live_reload");
|
|
ws.onmessage = (event) => {
|
|
if (event.data == "regenerated") {
|
|
ws.close();
|
|
window.location.reload();
|
|
}
|
|
};
|
|
</script>
|
|
{% endif %}
|
|
</body>
|
|
</html>
|