From d17bca56238e9ca326d60e58230d0d354f23bfe8 Mon Sep 17 00:00:00 2001
From: seth
Date: Wed, 9 Oct 2024 10:59:13 -0400
Subject: back to astro for hopefully the last time (#146)
---
src/assets/buttons/acab.gif | Bin 0 -> 8785 bytes
src/assets/buttons/arnold.gif | Bin 0 -> 5046 bytes
src/assets/buttons/capitalism.gif | Bin 0 -> 253 bytes
src/assets/buttons/legalize.gif | Bin 0 -> 7182 bytes
src/assets/buttons/poweredbynix.svg | 187 ++++++++++++++++++++++++++++++++++++
src/assets/buttons/pride.gif | Bin 0 -> 17783 bytes
src/assets/buttons/steam.gif | Bin 0 -> 2750 bytes
src/assets/buttons/weezer.gif | Bin 0 -> 24883 bytes
src/assets/obras.gif | Bin 0 -> 5497 bytes
src/assets/tapwater.png | Bin 0 -> 358758 bytes
src/components/Footer.astro | 25 +++++
src/components/GifButtons.astro | 58 +++++++++++
src/components/Head.astro | 22 +++++
src/components/Nav.astro | 18 ++++
src/env.d.ts | 1 +
src/layouts/Base.astro | 21 ++++
src/pages/404.md | 9 ++
src/pages/about-me.md | 22 +++++
src/pages/contact.md | 11 +++
src/pages/index.astro | 21 ++++
src/pages/robots.txt.ts | 13 +++
src/styles/style.scss | 93 ++++++++++++++++++
22 files changed, 501 insertions(+)
create mode 100644 src/assets/buttons/acab.gif
create mode 100644 src/assets/buttons/arnold.gif
create mode 100644 src/assets/buttons/capitalism.gif
create mode 100644 src/assets/buttons/legalize.gif
create mode 100644 src/assets/buttons/poweredbynix.svg
create mode 100644 src/assets/buttons/pride.gif
create mode 100644 src/assets/buttons/steam.gif
create mode 100644 src/assets/buttons/weezer.gif
create mode 100644 src/assets/obras.gif
create mode 100644 src/assets/tapwater.png
create mode 100644 src/components/Footer.astro
create mode 100644 src/components/GifButtons.astro
create mode 100644 src/components/Head.astro
create mode 100644 src/components/Nav.astro
create mode 100644 src/env.d.ts
create mode 100644 src/layouts/Base.astro
create mode 100644 src/pages/404.md
create mode 100644 src/pages/about-me.md
create mode 100644 src/pages/contact.md
create mode 100644 src/pages/index.astro
create mode 100644 src/pages/robots.txt.ts
create mode 100644 src/styles/style.scss
(limited to 'src')
diff --git a/src/assets/buttons/acab.gif b/src/assets/buttons/acab.gif
new file mode 100644
index 0000000..6f8ccef
Binary files /dev/null and b/src/assets/buttons/acab.gif differ
diff --git a/src/assets/buttons/arnold.gif b/src/assets/buttons/arnold.gif
new file mode 100644
index 0000000..0035988
Binary files /dev/null and b/src/assets/buttons/arnold.gif differ
diff --git a/src/assets/buttons/capitalism.gif b/src/assets/buttons/capitalism.gif
new file mode 100644
index 0000000..c4abb60
Binary files /dev/null and b/src/assets/buttons/capitalism.gif differ
diff --git a/src/assets/buttons/legalize.gif b/src/assets/buttons/legalize.gif
new file mode 100644
index 0000000..071d4d4
Binary files /dev/null and b/src/assets/buttons/legalize.gif differ
diff --git a/src/assets/buttons/poweredbynix.svg b/src/assets/buttons/poweredbynix.svg
new file mode 100644
index 0000000..0bc8c80
--- /dev/null
+++ b/src/assets/buttons/poweredbynix.svg
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/buttons/pride.gif b/src/assets/buttons/pride.gif
new file mode 100644
index 0000000..9a48896
Binary files /dev/null and b/src/assets/buttons/pride.gif differ
diff --git a/src/assets/buttons/steam.gif b/src/assets/buttons/steam.gif
new file mode 100644
index 0000000..1f4fe29
Binary files /dev/null and b/src/assets/buttons/steam.gif differ
diff --git a/src/assets/buttons/weezer.gif b/src/assets/buttons/weezer.gif
new file mode 100644
index 0000000..d7fa9d1
Binary files /dev/null and b/src/assets/buttons/weezer.gif differ
diff --git a/src/assets/obras.gif b/src/assets/obras.gif
new file mode 100644
index 0000000..3c8443e
Binary files /dev/null and b/src/assets/obras.gif differ
diff --git a/src/assets/tapwater.png b/src/assets/tapwater.png
new file mode 100644
index 0000000..e84fe8e
Binary files /dev/null and b/src/assets/tapwater.png differ
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
new file mode 100644
index 0000000..1eaed7e
--- /dev/null
+++ b/src/components/Footer.astro
@@ -0,0 +1,25 @@
+---
+const commitSha =
+ import.meta.env.CF_PAGES_COMMIT_SHA || import.meta.env.COMMIT_SHA;
+const repositoryUrl = "https://github.com/getchoo/website";
+---
+
+
diff --git a/src/components/GifButtons.astro b/src/components/GifButtons.astro
new file mode 100644
index 0000000..3c88dbd
--- /dev/null
+++ b/src/components/GifButtons.astro
@@ -0,0 +1,58 @@
+---
+import type { ImageMetadata } from "astro";
+import { Image } from "astro:assets";
+
+const gifs = import.meta.glob<{ default: ImageMetadata }>(
+ "/src/assets/buttons/*.{gif,svg}",
+);
+
+const gifButtons = [
+ { buttonName: "acab.gif", altText: "ACAB!" },
+ {
+ buttonName: "arnold.gif",
+ altText: "Hey Arnold!",
+ },
+ {
+ buttonName: "capitalism.gif",
+ altText: "Let's crush capitalism!",
+ },
+ {
+ buttonName: "legalize.gif",
+ altText: "Legalize marijuana now!",
+ },
+ {
+ buttonName: "poweredbynix.svg",
+ altText: "Powered by NixOS",
+ link: "https://github.com/sakecode",
+ },
+ {
+ buttonName: "pride.gif",
+ altText: "LGBTQ Pride now!",
+ },
+ {
+ buttonName: "steam.gif",
+ altText: "Play on Steam!",
+ link: "https://dnsense.pub/",
+ },
+ { buttonName: "weezer.gif", altText: "Weezer fan" },
+];
+---
+
+
diff --git a/src/components/Head.astro b/src/components/Head.astro
new file mode 100644
index 0000000..d355012
--- /dev/null
+++ b/src/components/Head.astro
@@ -0,0 +1,22 @@
+---
+import "@styles/style.scss";
+import "@fontsource/noto-sans";
+import notoSansWoff2 from "@fontsource/noto-sans/files/noto-sans-latin-400-normal.woff2";
+
+const { title, description } = Astro.props;
+---
+
+
+
+ {title || "Getchoo's Website"}
+
+
+
+
+
diff --git a/src/components/Nav.astro b/src/components/Nav.astro
new file mode 100644
index 0000000..f122ee7
--- /dev/null
+++ b/src/components/Nav.astro
@@ -0,0 +1,18 @@
+---
+const navLinks = [
+ { name: "Home", url: "/" },
+ { name: "About Me", url: "/about-me" },
+ { name: "Contact", url: "/contact" },
+ { name: "GitHub", url: "https://github.com/getchoo" },
+];
+---
+
+
+ {
+ navLinks.map(({ name, url }) => (
+
+ ))
+ }
+
diff --git a/src/env.d.ts b/src/env.d.ts
new file mode 100644
index 0000000..e16c13c
--- /dev/null
+++ b/src/env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro
new file mode 100644
index 0000000..2aa3d9e
--- /dev/null
+++ b/src/layouts/Base.astro
@@ -0,0 +1,21 @@
+---
+import Footer from "@components/Footer.astro";
+import Head from "@components/Head.astro";
+import Nav from "@components/Nav.astro";
+
+const { title, description } = Astro.props.frontmatter || Astro.props;
+---
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/404.md b/src/pages/404.md
new file mode 100644
index 0000000..310f29e
--- /dev/null
+++ b/src/pages/404.md
@@ -0,0 +1,9 @@
+---
+layout: ../layouts/Base.astro
+title: 404!
+description: Page not found
+---
+
+# 404!
+
+
diff --git a/src/pages/about-me.md b/src/pages/about-me.md
new file mode 100644
index 0000000..d34c6df
--- /dev/null
+++ b/src/pages/about-me.md
@@ -0,0 +1,22 @@
+---
+layout: ../layouts/Base.astro
+title: About me
+description: Information about Getchoo
+---
+
+# About Me
+
+I am a 19 year old software developer (when I have the time) based in Florida.
+Most commonly, I am contributing to the
+[FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) community
+-- specifically for projects like [NixOS and nixpkgs](https://nixos.org),
+[Prism Launcher](https://prismlauncher.org), and whatever else I find fun
+and/or personally use.
+
+Some technologies I play around with the most include the aforementioned
+[Nix](https://nix.dev), [GitHub Actions](https://docs.github.com/en/actions),
+[Bash](https://www.gnu.org/software/bash/) (usually in slightly horrifying
+ways), [Deno](https://deno.com/), [Cloudflare
+Workers](https://workers.cloudflare.com/), [Rust](https://rust-lang.org/),
+[FastAPI](https://www.python.org/), and [Astro](https://astro.build) (which
+this site is made with!)
diff --git a/src/pages/contact.md b/src/pages/contact.md
new file mode 100644
index 0000000..28f90a4
--- /dev/null
+++ b/src/pages/contact.md
@@ -0,0 +1,11 @@
+---
+layout: ../layouts/Base.astro
+title: Contact Me
+description: My contact information
+---
+
+# Contact
+
+The most reliable way to contact me is via email at `getchoo at tuta dot io`
+
+I am also available on Matrix as `getchoo:matrix.org` and Discord as `g3tchoo`
diff --git a/src/pages/index.astro b/src/pages/index.astro
new file mode 100644
index 0000000..a17dcbe
--- /dev/null
+++ b/src/pages/index.astro
@@ -0,0 +1,21 @@
+---
+import { Image } from "astro:assets";
+
+import Base from "@layouts/Base.astro";
+import GifButtons from "@components/GifButtons.astro";
+import obras from "@assets/obras.gif";
+---
+
+
+
+ My Mastodon account
+
+
+ Getchoo's website 🚀
+
+ Constantly under construction since 2021!
+
+
+
+
+
diff --git a/src/pages/robots.txt.ts b/src/pages/robots.txt.ts
new file mode 100644
index 0000000..f36bf2b
--- /dev/null
+++ b/src/pages/robots.txt.ts
@@ -0,0 +1,13 @@
+import type { APIRoute } from "astro";
+
+const getRobotsTxt = (sitemapUrl: URL) => `
+User-agent: *
+Allow: /
+
+Sitemap: ${sitemapUrl.href}
+`;
+
+export const GET: APIRoute = ({ site }) => {
+ const sitemapUrl = new URL(`sitemap-index.xml`, site);
+ return new Response(getRobotsTxt(sitemapUrl));
+};
diff --git a/src/styles/style.scss b/src/styles/style.scss
new file mode 100644
index 0000000..4d730e9
--- /dev/null
+++ b/src/styles/style.scss
@@ -0,0 +1,93 @@
+@import "@catppuccin/palette/scss/_mocha.scss";
+
+a {
+ color: $blue;
+}
+
+body {
+ font-family:
+ Noto Sans,
+ -apple-system,
+ BlinkMacSystemFont,
+ avenir next,
+ avenir,
+ segoe ui,
+ helvetica neue,
+ helvetica,
+ Cantarell,
+ Ubuntu,
+ roboto,
+ noto,
+ arial,
+ sans-serif;
+ color: $text;
+ background-color: $base;
+ max-width: 75%;
+ margin-left: auto;
+ margin-right: auto;
+ padding: 1.5rem;
+
+ @media (min-width: 768px) {
+ max-width: 50%;
+ }
+}
+
+nav {
+ align-items: center;
+ background-color: $surface0;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: center;
+ margin: auto;
+ padding: 0.5rem;
+
+ a {
+ margin: 0.5rem;
+ }
+
+ @media (min-width: 375px) {
+ a {
+ margin: 0.75rem;
+ }
+ }
+
+ @media (min-width: 768px) {
+ a {
+ margin: 1rem;
+ }
+ }
+
+ @media (min-width: 1024px) {
+ a {
+ font-size: 1.5rem;
+ }
+ }
+}
+
+footer {
+ font-size: 0.6rem;
+ text-align: right;
+
+ @media (min-width: 768px) {
+ font-size: 0.75rem;
+ }
+
+ p {
+ margin: 0.25rem;
+ }
+}
+
+.main-content {
+ padding: 1rem;
+}
+
+.gif-buttons {
+ align-items: center;
+ display: flex;
+ flex-flow: row wrap;
+ justify-content: center;
+}
+
+.gif-button {
+ padding: 0.25rem;
+}
--
cgit v1.2.3