diff options
Diffstat (limited to 'old_stuff/src/layouts')
| -rw-r--r-- | old_stuff/src/layouts/Blog.astro | 22 | ||||
| -rw-r--r-- | old_stuff/src/layouts/Terminal.astro | 69 |
2 files changed, 91 insertions, 0 deletions
diff --git a/old_stuff/src/layouts/Blog.astro b/old_stuff/src/layouts/Blog.astro new file mode 100644 index 0000000..aa773c2 --- /dev/null +++ b/old_stuff/src/layouts/Blog.astro @@ -0,0 +1,22 @@ +--- +import Markdown from "@components/Markdown.astro"; +import Head from "@components/Head.astro"; + +interface Props { + title: string; +} + +const { title } = Astro.props; +--- + +<!doctype html> +<html lang="en"> + <Head title={title} description="My blog post" /> + <body> + <main class="w-[70%] m-auto py-16"> + <Markdown> + <slot /> + </Markdown> + </main> + </body> +</html> diff --git a/old_stuff/src/layouts/Terminal.astro b/old_stuff/src/layouts/Terminal.astro new file mode 100644 index 0000000..e13a8ac --- /dev/null +++ b/old_stuff/src/layouts/Terminal.astro @@ -0,0 +1,69 @@ +--- +import "@styles/terminal.css"; +import Nav from "@components/Nav.astro"; +import Head from "@components/Head.astro"; + +interface Props { + path: string; +} + +// sm:w-[68.75vw] sm:h-[38vw] sm:p-[2.2vw] sm:text-[1.125vw] sm:border-[0.2vw] sm:border-solid" --> + +const { path: title } = Astro.props; +--- + +<!doctype html> +<html lang="en"> + <Head title=`${title}` description="My personal website" /> + <body> + <main + class="w-[95vw] h-[97vh] p-[2.2svh] text-[3vw] mt-[10vw] + sm:w-[68.75vw] sm:h-[35vw] sm:p-[2.2vw] sm:text-[1.125vw] sm:border-[0.2vw] sm:border-solid sm:mt-[0vw]" + > + <Nav path={title} /> + <slot /> + </main> + </body> +</html> +<style> + main { + display: block; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: var(--background); + font-weight: 300; + } +</style> +<script> + function setTheme(theme) { + const root = document.documentElement; + + // Get current values from root + const computed = getComputedStyle(root); + const existingTheme = {}; + + const themeKeys = ["primary", "secondary", "accent", "extra", "text", "alt", "background", "font"]; + + themeKeys.forEach(key => { + existingTheme[key] = theme[key] ?? computed.getPropertyValue(`--${key}`).trim(); + root.style.setProperty(`--${key}`, existingTheme[key]); + }); + + localStorage.setItem("theme", JSON.stringify(existingTheme)); + } + + function loadTheme() { + const savedTheme = localStorage.getItem("theme"); + if (savedTheme) { + setTheme(JSON.parse(savedTheme)); + } + } + + // Attach to window so it's accessible globally + window.setTheme = setTheme; + + // Load theme on page load + loadTheme(); +</script> |
