50 lines
2.4 KiB
HTML
50 lines
2.4 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>{NAME}</title>
|
|
<link rel="canonical" href="{URL}" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
<meta name="theme-color" content="{ACCENT}" />
|
|
<meta name="description" content="{DESCRIPTION}" />
|
|
<meta property="og:url" content="{URL}" />
|
|
<meta property="og:type" content="website" />
|
|
<meta property="og:title" content="{NAME}" />
|
|
<meta property="og:description" content="{DESCRIPTION}" />
|
|
<meta property="og:image" content="" />
|
|
<meta name="twitter:card" content="summary" />
|
|
<meta name="twitter:site" content="{URL}" />
|
|
<meta name="twitter:title" content="{NAME}" />
|
|
<meta name="twitter:description" content="{DESCRIPTION}" />
|
|
<meta name="twitter:image" content="/maskable-icon-512x512.png" />
|
|
<link rel="icon" href="/favicon.ico" sizes="48x48" />
|
|
<link rel="icon" href="/pwa-64x64.png" sizes="any" type="image/png" />
|
|
<link rel="icon" href="/pwa-192x192.png" sizes="any" type="image/png" />
|
|
<link rel="icon" href="/pwa-512x512.png" sizes="any" type="image/png" />
|
|
<link rel="icon" href="/pwa-64x64.png" sizes="64x64" type="image/png" />
|
|
<link rel="icon" href="/pwa-192x192.png" sizes="192x192" type="image/png" />
|
|
<link rel="icon" href="/pwa-512x512.png" sizes="512x512" type="image/png" />
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-180x180.png" />
|
|
<!-- Android's WebView can go arbitrarily long without an idle period, and both
|
|
emoji-picker-element and our own storage writes hand work to requestIdleCallback
|
|
without a timeout, so on a phone that work never ran. Giving one to every caller
|
|
only ever makes a callback run sooner. Must precede sveltekit's module scripts:
|
|
emoji-picker-element reads the global once, when it is imported. -->
|
|
<script>
|
|
const idle = window.requestIdleCallback
|
|
|
|
if (idle) {
|
|
window.requestIdleCallback = (callback, options) =>
|
|
idle.call(window, callback, {timeout: 200, ...options})
|
|
}
|
|
</script>
|
|
%sveltekit.head%
|
|
</head>
|
|
<body data-sveltekit-preload-data="hover" data-sveltekit-preload-code="eager">
|
|
<div style="display: contents">%sveltekit.body%</div>
|
|
<script
|
|
defer
|
|
data-domain="app.flotilla.social"
|
|
src="https://plausible.coracle.social/js/script.manual.js"></script>
|
|
</body>
|
|
</html>
|