Set up the basic layout of the site and greybox its content based on statically generated pages. Content pages uses general base layouts defined centrally to avoid duplicating code.
23 lines
526 B
TypeScript
23 lines
526 B
TypeScript
import type { Node } from "antihtml";
|
|
|
|
interface BaseProps {
|
|
title: string;
|
|
children: Node | Node[],
|
|
}
|
|
export function BasePage(props: BaseProps) {
|
|
return <html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>{props.title}</title>
|
|
<link rel="stylesheet" href="./style.css" />
|
|
</head>
|
|
<body>
|
|
<header class="header">
|
|
<nav>
|
|
<a href="./index.html">Home</a> <a href="./updates.html">Updates</a> <a href="./projects.html">Projects</a>
|
|
</nav>
|
|
</header>
|
|
{props.children}
|
|
</body>
|
|
</html>
|
|
}
|