aboutsummaryrefslogtreecommitdiff
path: root/projects/www
diff options
context:
space:
mode:
Diffstat (limited to 'projects/www')
-rw-r--r--projects/www/.gitignore2
-rw-r--r--projects/www/README4
-rw-r--r--projects/www/public/_headers2
-rw-r--r--projects/www/public/_redirects14
-rw-r--r--projects/www/public/index.html67
-rw-r--r--projects/www/server/index.js25
-rw-r--r--projects/www/wrangler.jsonc19
7 files changed, 133 insertions, 0 deletions
diff --git a/projects/www/.gitignore b/projects/www/.gitignore
new file mode 100644
index 0000000..3e4f32c
--- /dev/null
+++ b/projects/www/.gitignore
@@ -0,0 +1,2 @@
+/.wrangler/
+/node_modules/ \ No newline at end of file
diff --git a/projects/www/README b/projects/www/README
new file mode 100644
index 0000000..ea6f358
--- /dev/null
+++ b/projects/www/README
@@ -0,0 +1,4 @@
+My ever-changing personal website.
+
+Find it at: https://zue.dev
+Or, if I'm dead, it will (hopefully) be at: https://zuedev.github.io/zue.dev/ \ No newline at end of file
diff --git a/projects/www/public/_headers b/projects/www/public/_headers
new file mode 100644
index 0000000..69fb1e4
--- /dev/null
+++ b/projects/www/public/_headers
@@ -0,0 +1,2 @@
+/*
+ who-was-here: zuedev-was-here \ No newline at end of file
diff --git a/projects/www/public/_redirects b/projects/www/public/_redirects
new file mode 100644
index 0000000..5890edd
--- /dev/null
+++ b/projects/www/public/_redirects
@@ -0,0 +1,14 @@
+/github https://github.com/zuedev
+/gitlab https://gitlab.com/zuedev
+/discord https://discord.gg/N34EeYtFCs
+/gumroad https://zuedev.gumroad.com/
+/linkedin https://linkedin.com/in/zuedev
+/stripe https://billing.stripe.com/p/login/6oE8Ag4EK2N82OI000
+/monzo https://monzo.me/alexanderpooley5
+/steam https://steamcommunity.com/id/zuedev
+/aws https://zuedev.awsapps.com/start
+
+/cv /resume
+/cv.pdf /resume
+/resume.pdf /resume
+/resume https://drive.google.com/file/d/1S49c4nQEpY5IeQNkTcLlnabz664RlnAj/view
diff --git a/projects/www/public/index.html b/projects/www/public/index.html
new file mode 100644
index 0000000..2d92f0b
--- /dev/null
+++ b/projects/www/public/index.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+
+ <title>zuedev's space</title>
+ <meta name="description" content="Hello, World! I'm zuedev." />
+ <link rel="icon" href="https://about.zue.dev/avatar.png" />
+
+ <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
+ </head>
+ <body>
+ <div
+ class="flex flex-col justify-center min-h-screen bg-black text-white font-mono text-lg"
+ >
+ <div class="max-w-2xl mx-auto px-4 py-8 space-y-4">
+ <p>
+ I'm working on updating this website to be a hub for my projects and
+ services.
+ </p>
+ <p>In the meantime, here's some links:</p>
+ <ul class="list-disc pl-5">
+ <li>
+ <a
+ href="https://about.zue.dev"
+ class="text-cyan-500 hover:underline"
+ >
+ About Me
+ </a>
+ </li>
+ <li>
+ <a href="https://t1.zue.dev" class="text-cyan-500 hover:underline">
+ T1: Zero-Markup Development & Hosting
+ </a>
+ </li>
+ <li>
+ <a href="https://96.zue.dev" class="text-cyan-500 hover:underline">
+ 96: Transparent Talent Management
+ </a>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </body>
+ <script>
+ // animated tab
+ const animation = [
+ {
+ emoji: "❤️",
+ title: "Welcome to zuedev's space",
+ },
+ ];
+
+ let tabAnimationStep = 0;
+ const favicon = document.querySelector("link[rel='icon']");
+ const updateTab = () => {
+ const currentAnimation = animation[tabAnimationStep % animation.length];
+ favicon.href = `data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><text y=".9em" font-size="90">${currentAnimation.emoji}</text></svg>`;
+ document.title = currentAnimation.title;
+ tabAnimationStep++;
+ setTimeout(updateTab, 1000);
+ };
+
+ updateTab();
+ </script>
+</html>
diff --git a/projects/www/server/index.js b/projects/www/server/index.js
new file mode 100644
index 0000000..10151ea
--- /dev/null
+++ b/projects/www/server/index.js
@@ -0,0 +1,25 @@
+export default {
+ async fetch(request, env) {
+ const url = new URL(request.url);
+
+ if (url.pathname.startsWith("/api")) {
+ const apiPath = url.pathname.split("/").filter(Boolean);
+
+ if (!apiPath[1]) apiPath[1] = "index";
+
+ switch (apiPath[1]) {
+ case "index":
+ return new Response(JSON.stringify({ message: "Hello, World! :3" }), {
+ headers: { "Content-Type": "application/json" },
+ });
+ default:
+ return new Response(JSON.stringify({ message: "Not Found" }), {
+ status: 404,
+ headers: { "Content-Type": "application/json" },
+ });
+ }
+ }
+
+ return env.ASSETS.fetch(request);
+ },
+}; \ No newline at end of file
diff --git a/projects/www/wrangler.jsonc b/projects/www/wrangler.jsonc
new file mode 100644
index 0000000..af0687f
--- /dev/null
+++ b/projects/www/wrangler.jsonc
@@ -0,0 +1,19 @@
+{
+ "name": "zue-dev",
+ "compatibility_date": "2025-03-01",
+ "main" : "./server/index.js",
+ "assets": {
+ "directory": "./public/",
+ "not_found_handling": "single-page-application",
+ "binding": "ASSETS"
+ },
+ "observability": {
+ "enabled": true
+ },
+ "routes": [
+ {
+ "pattern": "zue.dev",
+ "custom_domain": true
+ }
+ ]
+}