Files
2026-10-22 23:48:03 -04:00

44 lines
1.5 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}{{ title | safe }}{% endblock %}</title>
<link rel="stylesheet" href="css/app.css">
<meta name="htmx-config"
content='{"historyCacheSize":0,"refreshOnHistoryMiss":false}'>
<script src="js/htmx.min.js"></script>
<link rel="manifest" href="manifest.webmanifest">
<meta name="theme-color" content="#1a202c">
<link rel="icon" href="icons/favicon.ico" sizes="16x16 32x32 48x48">
<link rel="icon" href="icons/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="icons/apple-touch-icon.png">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="Bible">
</head>
<body class="{% block body_class %}{% endblock %}"
hx-boost="true" hx-target="#content" hx-swap="innerHTML show:window:top">
{% include "sidebar.njk" %}
<main id="content" hx-history-elt>
{% block content %}{% endblock %}
</main>
<script>
// The sidebar, and on a phone its button, fade out once the page leaves the
// top, so they are out of the way while reading; the stylesheet brings the
// sidebar back under the pointer.
(function () {
var root = document.documentElement;
function update() { root.classList.toggle('scrolled', window.scrollY > 0); }
addEventListener('scroll', update, { passive: true });
update();
})();
</script>
</body>
</html>