2019-01-04 18:14:53 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
2019-01-04 18:36:40 +00:00
|
|
|
|
2019-01-04 18:14:53 +00:00
|
|
|
<title><%= metadata.title %></title>
|
2019-01-04 18:36:40 +00:00
|
|
|
|
|
|
|
<link rel="canonical" href="https://shadowfacts.net<%= metadata.permalink %>">
|
|
|
|
<link rel="alternate" type="application/rss+xml" title="Shadowfacts" href="https://shadowfacts.net/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">
|
|
|
|
|
2019-01-04 22:54:34 +00:00
|
|
|
<meta name="twitter:card" content="summary" />
|
|
|
|
<meta name="twitter:creator" content="@ShadowfactsDev" />
|
|
|
|
<meta property="og:title" content="<%= metadata.title %>" />
|
|
|
|
<% if (metadata.shortDesc) { %>
|
|
|
|
<meta property="og:type" content="article" />
|
|
|
|
<meta property="og:description" content="<%= metadata.shortDesc %>" />
|
|
|
|
<% } else { %>
|
|
|
|
<meta property="og:type" content="website" />
|
|
|
|
<meta property="og:description" content="Just my various ramblings." />
|
|
|
|
<% } %>
|
|
|
|
<meta property="og:image" content="https://shadowfacts.net/shadowfacts.png" />
|
|
|
|
<meta property="og:url" content="https://shadowfacts.net<%= metadata.permalink %>" />
|
|
|
|
<meta property="og:site_name" content="Shadowfacts" />
|
|
|
|
|
2019-01-04 18:14:53 +00:00
|
|
|
<script>
|
|
|
|
(() => {
|
|
|
|
let theme = localStorage.getItem("theme");
|
|
|
|
if (theme !== "light" && theme !== "dark") {
|
|
|
|
theme = "light";
|
|
|
|
localStorage.setItem("theme", theme);
|
|
|
|
}
|
|
|
|
document.write(`<link rel="stylesheet" href="/css/${theme}.css">`);
|
|
|
|
})();
|
|
|
|
</script>
|
|
|
|
<noscript>
|
|
|
|
<link rel="stylesheet" href="/css/light.css">
|
|
|
|
</noscript>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<header class="site-header">
|
|
|
|
<div class="container">
|
|
|
|
<h1 class="site-title"><a href="/" class="fancy-link">Shadowfacts</a></h1>
|
|
|
|
<p class="site-description">The outper part of a shadow is called the penumbra.</p>
|
|
|
|
<nav class="site-nav">
|
|
|
|
<ul>
|
|
|
|
<li><a href="https://mememachine.shadowfacts.net" class="fancy-link">Meme Machine</a></li>
|
|
|
|
<li><a href="https://rtfm.shadowfacts.net" class="fancy-link">RTFM</a></li>
|
|
|
|
<li><a href="https://type.shadowfacts.net" class="fancy-link">Type</a></li>
|
|
|
|
<li><a href="/tutorials/" class="fancy-link">Tutorials</a></li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
<div class="container">
|
|
|
|
<%- content %>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<footer class="site-footer">
|
|
|
|
<div class="container">
|
|
|
|
<div>
|
|
|
|
<h2 class="site-title">Shadowfacts</h2>
|
|
|
|
<p class="ui-controls">
|
|
|
|
<label for="dark-theme">Dark Theme: </label>
|
|
|
|
<input type="checkbox" name="" id="dark-theme">
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<nav class="social-links">
|
|
|
|
<ul>
|
|
|
|
<li><a href="mailto:me@shadowfacts.net" class="fancy-link">Email</a></li>
|
|
|
|
<li><a href="/feed.xml" class="fancy-link">RSS</a></li>
|
|
|
|
<li><a href="https://github.com/shadowfacts" class="fancy-link">GitHub</a></li>
|
|
|
|
<li><a href="https://twitter.com/ShadowfactsDev" class="fancy-link">Twitter</a></li>
|
|
|
|
<li><a href="https://social.shadowfacts.net/users/shadowfacts" class="fancy-link">Mastodon</a></li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
(() => {
|
|
|
|
const el = document.getElementById("dark-theme");
|
|
|
|
el.checked = localStorage.getItem("theme") === "dark";
|
|
|
|
el.onclick = function() {
|
|
|
|
const theme = this.checked ? "dark" : "light";
|
|
|
|
localStorage.setItem("theme", theme);
|
|
|
|
window.location.reload();
|
|
|
|
};
|
|
|
|
})();
|
|
|
|
</script>
|
|
|
|
<noscript>
|
|
|
|
<style>
|
|
|
|
.ui-controls {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</noscript>
|
|
|
|
</footer>
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|