58 lines
1.3 KiB
Plaintext
58 lines
1.3 KiB
Plaintext
---
|
|
import { ClientRouter } from "astro:transitions";
|
|
|
|
import "../global.css";
|
|
|
|
import Footer from "@components/Footer.astro";
|
|
import Header from "@components/Header/Header.astro";
|
|
|
|
export interface Props {
|
|
title: string;
|
|
frontmatter?: {
|
|
title: string;
|
|
};
|
|
}
|
|
|
|
const title = Astro.props.title || Astro.props.frontmatter?.title || "Unknown";
|
|
---
|
|
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width" />
|
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
<meta name="robots" content="noindex" /><meta
|
|
name="description"
|
|
content="My little space on the World Wide Web."
|
|
/><link
|
|
rel="alternate"
|
|
type="application/rss+xml"
|
|
title="ghall.space - RSS"
|
|
href={`${Astro.site}rss.xml`}
|
|
/><title>{`ghall.space - ${title}`}</title>
|
|
<ClientRouter />
|
|
</head>
|
|
<body
|
|
class="layout-simple"
|
|
x-data="{
|
|
drawerOpen: false,
|
|
darkMode: $persist(false)
|
|
}"
|
|
:class="{ 'lock-scroll': drawerOpen, 'theme-dark': darkMode}"
|
|
>
|
|
<Header />
|
|
<main transition:animate="initial">
|
|
<slot />
|
|
</main>
|
|
<Footer />
|
|
</body>
|
|
</html>
|
|
|
|
<style>
|
|
/* Prevent scrolling when drawer (located in Header) is open */
|
|
.lock-scroll {
|
|
overflow: hidden;
|
|
}
|
|
</style>
|