coworking-stream-guide/src/layouts/Layout.astro
2024-05-02 23:25:04 +08:00

132 lines
3.1 KiB
Text

---
import NavBar from "../components/blocks/navBar.astro";
import { ViewTransitions } from "astro:transitions";
export interface Props {
title: string;
description: string;
}
const { title, description } = Astro.props;
---
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="description" content={description} />
<meta name="keywords" content="coworking, study, streams" />
<meta name="author" content="RythonDev" />
<meta name="theme-color" content="#2B2D31" />
<meta name="viewport" content="width=device-width" />
<!-- "X" meta tags -->
<meta
name="twitter:image"
content="/assets/coworking-website-preview.webp"
/>
<meta name="twitter:site" content="@RythonDev" />
<meta name="twitter:title" content="Coworking Streamers Guide" />
<meta
name="twitter:description"
content="A guide for new and existing coworking streamers!"
/>
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image:alt" content="Coworking Streamers Guide" />
<meta name="twitter:creator" content="@RythonDev" />
<meta
name="og:image"
content="/assets/coworking-website-preview.webp"
/>
<meta name="og:title" content="Coworking Streamers Guide" />
<meta
name="og:description"
content="A guide for new and existing coworking streamers!"
/>
<meta name="og:url" content="https://coworking-guide.vercel.app/" />
<meta name="og:site_name" content="Coworking Streamers Guide" />
<meta name="og:type" content="website" />
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
<link href="/pagefind/pagefind-ui.css" rel="stylesheet" />
<script src="/pagefind/pagefind-ui.js" is:inline></script>
<script is:inline src="/_vercel/insights/script.js"></script>
<ViewTransitions />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
</head>
<body>
<div class="pt-[var(--header-height)]">
<NavBar />
<slot />
</div>
<script>
// make all <a> attributes have target="_blank" except for Table of Contents
document
.querySelectorAll("a:not(.no-target-blank)")
.forEach((el) => {
el.setAttribute("target", "_blank");
});
</script>
<style is:global>
:root {
--header-height: 3.5rem;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
font-family: system-ui, sans-serif;
background-color: #171717;
color: rgb(255 255 255);
}
html,
body {
min-height: 100%;
/* smooth scroll */
scroll-behavior: smooth;
font-family: system-ui;
}
code {
font-family:
Menlo,
Monaco,
Lucida Console,
Liberation Mono,
DejaVu Sans Mono,
Bitstream Vera Sans Mono,
Courier New,
monospace;
}
nav {
font-family: system-ui, sans-serif;
font-weight: 500;
}
nav ul a {
text-decoration: none;
}
a.preview {
text-decoration: none;
}
.toc-scrollbar {
overflow-y: auto;
max-height: 60vh;
/* scroll bar */
scrollbar-width: thin;
scrollbar-color: #4a4a4a #2b2d31;
scrollbar-gutter: 10px;
}
</style>
</body>
</html>