From ba1be9573ef20d6424ae987257a1c727c47d4b53 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Tue, 6 Oct 2026 20:46:31 +0300 Subject: Initial setup for website rewrite --- old_stuff/src/pages/404.astro | 25 ++ old_stuff/src/pages/blogs.astro | 38 +++ old_stuff/src/pages/blogs/[...slug].astro | 132 +++++++++ old_stuff/src/pages/index.astro | 275 +++++++++++++++++++ old_stuff/src/pages/projects.astro | 63 +++++ old_stuff/src/pages/shell.astro | 438 ++++++++++++++++++++++++++++++ old_stuff/src/pages/skills.astro | 51 ++++ 7 files changed, 1022 insertions(+) create mode 100644 old_stuff/src/pages/404.astro create mode 100644 old_stuff/src/pages/blogs.astro create mode 100644 old_stuff/src/pages/blogs/[...slug].astro create mode 100644 old_stuff/src/pages/index.astro create mode 100644 old_stuff/src/pages/projects.astro create mode 100644 old_stuff/src/pages/shell.astro create mode 100644 old_stuff/src/pages/skills.astro (limited to 'old_stuff/src/pages') diff --git a/old_stuff/src/pages/404.astro b/old_stuff/src/pages/404.astro new file mode 100644 index 0000000..9d3910e --- /dev/null +++ b/old_stuff/src/pages/404.astro @@ -0,0 +1,25 @@ +--- +import TerminalBorder from "@components/TerminalBorder.astro"; +import Terminal from "@layouts/Terminal.astro"; + +const url = new URL(Astro.request.url).pathname.substring(1); +--- + + + + +

$ cd ~/{url}

+

+ "{url}": No such file or directory (os error 2) +

+
+
+
+ diff --git a/old_stuff/src/pages/blogs.astro b/old_stuff/src/pages/blogs.astro new file mode 100644 index 0000000..7e1b576 --- /dev/null +++ b/old_stuff/src/pages/blogs.astro @@ -0,0 +1,38 @@ +--- +import Terminal from "@layouts/Terminal.astro"; +import TerminalBorder from "@components/TerminalBorder.astro"; +import BlogItem from "@components/BlogItem.astro"; +import { getCollection } from "astro:content"; + +const blogs = (await getCollection("blogs")) + .sort((a, b) => +new Date(b.data.date) - +new Date(a.data.date)) + .map((blog) => ({ + title: blog.data.title, + description: blog.data.description, + date: blog.data.date, + href: "/blogs/" + blog.slug, + })); +--- + + + +

$ ls -lah -t --color=auto ~/blogs

+
+
+ { + blogs.map((blog) => ( + <> + + + )) + } +
+
diff --git a/old_stuff/src/pages/blogs/[...slug].astro b/old_stuff/src/pages/blogs/[...slug].astro new file mode 100644 index 0000000..a7394ca --- /dev/null +++ b/old_stuff/src/pages/blogs/[...slug].astro @@ -0,0 +1,132 @@ +--- +import { getCollection } from "astro:content"; +import Terminal from "@layouts/Terminal.astro"; +import BlogItem from "@components/BlogItem.astro"; +import Link from "@components/Link.astro"; +import TerminalBorder from "@components/TerminalBorder.astro"; + +export async function getStaticPaths() { + const blogEntries = await getCollection("blogs"); + return blogEntries.map((blog) => ({ + params: { slug: blog.slug }, + props: { entry: blog }, + })); +} + +const { entry } = Astro.props; +const { Content } = await entry.render(); + +const blogs = await getCollection("blogs"); +const sortedBlogs = blogs.sort((a, b) => +b.data.date - +a.data.date); +const currentIndex = sortedBlogs.findIndex((blog) => blog.slug === entry.slug); +const previousBlog = sortedBlogs[currentIndex + 1] || undefined; +const nextBlog = sortedBlogs[currentIndex - 1] || undefined; +--- + + +
+
+
+ +
+
+ +
+
+ { + previousBlog ? ( + + + + vim ~/blogs/{previousBlog.slug}.md + + + + ) : ( + +
+ + + + + diff --git a/old_stuff/src/pages/index.astro b/old_stuff/src/pages/index.astro new file mode 100644 index 0000000..e286117 --- /dev/null +++ b/old_stuff/src/pages/index.astro @@ -0,0 +1,275 @@ +--- +import { getCollection } from "astro:content"; +import Terminal from "@layouts/Terminal.astro"; +import TerminalBorder from "@components/TerminalBorder.astro"; +import Link from "@components/Link.astro"; +import BlogItem from "@components/BlogItem.astro"; + +const latestBlog = (await getCollection("blogs")).reduce((latest, blog) => { + const blogDate = new Date(blog.data.date); + return blogDate > new Date(latest.data.date) ? blog : latest; +}); + +const sshKey = `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7P9K9D5RkBk+JCRRS6AtHuTAc6cRpXfRfRMg/Kyren`; +const fingerprint = ` ++--[ED25519 256]--+ +| +. .. +.B| +| + o..o . BB| +| ..o oo.o =+E| +| ... oo. + o.| +| . S . = | +| . . + o | +| o o o . | +| oo .o+ + | +| ++ooo+= | ++----[SHA256]-----+`.trimStart(); + +const aboutMe = ` +Hi! I'm Kyren, a software engineer and Game developer freelancer. +I love working with low level languages and learning things deeply. +I am also a terminal nerd and Linux enthusiast who uses NVIM btw. +And when I am not coding I am most likely playing video games, +watching Anime or solving Rubik's cubes fast.`.trimStart(); + +const utcOffset = 3; + +const email = "contact at kyren.codes"; + +--- + + + + + + + + + + +
+
+ +

+ Working on EKO + | Learning Langdev & Compiler Design | Available for hire +

+
+ +

{aboutMe}

+
+ +
+ + {email} + + +
+ + + github.com/Kyren223 + + + + + Kyren223 + + + +
+ UTC+{utcOffset} + Loading... +
+
+ +
+ {sshKey} +
+
+
+
+
+ + + + diff --git a/old_stuff/src/pages/projects.astro b/old_stuff/src/pages/projects.astro new file mode 100644 index 0000000..9174b0e --- /dev/null +++ b/old_stuff/src/pages/projects.astro @@ -0,0 +1,63 @@ +--- +import Terminal from "@layouts/Terminal.astro"; +import Project from "@components/Project.astro"; +--- + + +
+
+ + A tower defense game where an AI chip on your motherboard + generates bugs! Place CPUs to destroy the bugs! + Don't let them corrupt your RAM! + + + A complete "batteries included" framework streamlining the + process of Minecraft plugin development. Enabling developers to + make impressive plugins with ease! + +
+ + A terminal-native alternative to Discord for Terminal nerds! + + + A blazingly fast way to navigate to your most used files. + minimize keystrokes and maximize productivity! + + + My linux configuration, includes Neovim, tmux and others. + +
+
+
+
diff --git a/old_stuff/src/pages/shell.astro b/old_stuff/src/pages/shell.astro new file mode 100644 index 0000000..c1ae14e --- /dev/null +++ b/old_stuff/src/pages/shell.astro @@ -0,0 +1,438 @@ +--- +import Terminal from "@layouts/Terminal.astro"; +import TerminalBorder from "@components/TerminalBorder.astro"; +--- + + + +
+
+ +
$ 
+

+ npm run buildafter +

+ +
+
+ diff --git a/old_stuff/src/pages/skills.astro b/old_stuff/src/pages/skills.astro new file mode 100644 index 0000000..6d6f4b1 --- /dev/null +++ b/old_stuff/src/pages/skills.astro @@ -0,0 +1,51 @@ +--- +import Terminal from "@layouts/Terminal.astro"; +import RadarChart from "@components/RadarChart.astro"; +import TerminalBorder from "@components/TerminalBorder.astro"; + +const max = 100; +const data = [ + { name: "Tooling", weight: 75 }, + { name: "Backend", weight: 80 }, + { name: "Gamedev", weight: 99 }, + { name: "Low-Level", weight: 95 }, + { name: "Frontend", weight: 15 }, +]; + +const langs = [ + "C/C++", "Golang", "Java", "SQL", "Python", + "Zig", "Rust", "Kotlin", "C#" ,"Lua" +]; +const tools = [ + "Git & GitHub & Gitea", + "SQLite and Firebase", + "Linux", + "Neovim and Tmux", +]; +const frameworks = ["Raylib", "Spigot API", "Bubbletea", "Astro"]; +--- + + +
+
+ +
+ {langs.map((lang) =>

{lang}

)} +
+
+ +
+ {frameworks.map((framework) =>

{framework}

)} +
+
+ +
+ {tools.map((tool) =>

{tool}

)} +
+
+
+
+ +
+
+
-- cgit v1.3.1