This commit is contained in:
Patrick Alvin Alcala 2025-11-26 10:56:07 +08:00
parent d61b8b7bd8
commit 46783c4f38
57 changed files with 4178 additions and 5992 deletions

View file

@ -0,0 +1,72 @@
import { type JSXElement, Show } from "solid-js";
import { $fontSource } from "../../configs/config.site.ts";
import background1 from "../images/background.avif";
import background2 from "../images/background.webp";
import "../styles/HTML.sass";
interface Props {
name: string;
description: string;
children: JSXElement;
font?:
| "roboto"
| "inter"
| "montserrat"
| "open-sans"
| "public-sans"
| string;
preloadBackground?: boolean;
author: string;
assets: JSXElement;
scripts: JSXElement;
}
export default (props: Props) => {
return (
<>
<html lang="en">
<head>
<base href="/" />
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, viewport-fit=cover"
/>
<meta name="name" content={props.name} />
<meta name="description" content={props.description} />
<meta name="title" property="og:title" content={props.name} />
<meta name="keywords" content="HTML, CSS, JavaScript" />
<meta name="developer" content={props.author} />
<meta property="og:description" content={props.description} />
<meta property="og:type" content="website" />
<link rel="icon" type="image/svg+xml" href="/favicon.png" />
<Show when={$fontSource.get() === "cdn"}>
<link rel="preconnect" href="https://cdn.jsdelivr.net" />
</Show>
<Show when={props.preloadBackground}>
<link
rel="preload"
href={background1}
as="image"
type="image/svg+xml"
/>
<link
rel="preload"
href={background2}
as="image"
type="image/svg+xml"
/>
</Show>
{props.assets}
</head>
<body>
<div class={props.font} id="app">
{props.children}
</div>
{props.scripts}
</body>
</html>
</>
);
};