Files
blog/components/Layout.ts
2026-02-13 13:41:18 +01:00

34 lines
853 B
TypeScript

import { ghPagesBasePath, html, type Html } from "@mastrojs/mastro";
import { Header } from "./Header.ts";
import { Footer } from "./Footer.ts";
export const basePath = ghPagesBasePath();
interface Props {
title?: string;
children: Html;
}
export const Layout = (props: Props) => html`
<!doctype html>
<html lang="en">
<head>
<title>${props.title}</title>
<meta charset="UTF-8" />
<link rel="stylesheet" href=${basePath + "/styles.css"} />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body
class="bg-stone-900 text-stone-200 max-w-2xl flex flex-col mx-auto h-screen border-l-8 border-dashed pl-4"
>
${Header()}
<main class="flex-1 prose prose-stone prose-invert">
${props.children}
</main>
${Footer()}
</body>
</html>
`;