Files
palina-theme/default.hbs

59 lines
2.1 KiB
Handlebars
Raw Normal View History

2026-02-17 17:53:00 +01:00
<!DOCTYPE html>
<html lang="{{@site.lang}}"
x-data="{
theme: localStorage.getItem('theme') || (window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark'),
mobileMenuOpen: false,
init() {
$watch('theme', val => {
localStorage.setItem('theme', val);
document.documentElement.setAttribute('data-theme', val);
});
document.documentElement.setAttribute('data-theme', this.theme);
document.documentElement.classList.remove('hidden');
// Close mobile menu on navigation
document.addEventListener('htmx:beforeRequest', () => {
this.mobileMenuOpen = false;
});
}
}"
:data-theme="theme"
class="hidden">
2026-02-17 17:53:00 +01:00
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{meta_title}}{{#is "index"}}{{@site.title}}{{else}}{{@site.title}}{{/is}}</title>
2026-02-17 17:53:00 +01:00
<link rel="stylesheet" href="{{asset "built/screen.css"}}">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Urbanist:ital,wght@0,100..900;1,100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap" rel="stylesheet">
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
<script src="https://unpkg.com/htmx.org@2.0.0"></script>
2026-02-17 17:53:00 +01:00
{{ghost_head}}
</head>
<body
class="{{body_class}} font-sans antialiased min-h-screen flex flex-col"
hx-boost="true"
hx-target="#main-content"
hx-select="#main-content"
hx-swap="innerHTML show:top"
>
{{!-- Mobile menu is outside the swap target and stays alive --}}
{{> mobile-menu}}
2026-02-17 17:53:00 +01:00
{{> header}}
2026-02-17 17:53:00 +01:00
<main id="main-content" class="flex-grow">
{{{body}}}
</main>
2026-02-17 17:53:00 +01:00
{{> footer}}
2026-02-17 17:53:00 +01:00
{{ghost_foot}}
<script src="{{asset "js/ghost-config.js"}}"></script>
2026-02-17 17:53:00 +01:00
<script src="{{asset "js/main.js"}}"></script>
</body>
</html>