summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package.json4
-rw-r--r--src/components/Counter.jsx16
-rw-r--r--src/config/analytics.js7
-rw-r--r--src/layouts/CenteredLayout.astro28
-rw-r--r--src/layouts/StandardLayout.astro54
-rw-r--r--src/pages/index.astro226
6 files changed, 142 insertions, 193 deletions
diff --git a/package.json b/package.json
index fc0bd05..c011531 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "namehackclub",
"type": "module",
- "version": "0.0.1",
+ "version": "2.0.0",
"scripts": {
"dev": "astro dev",
"build": "astro build",
@@ -23,4 +23,4 @@
"devDependencies": {
"@tailwindcss/typography": "^0.5.16"
}
-}
+} \ No newline at end of file
diff --git a/src/components/Counter.jsx b/src/components/Counter.jsx
deleted file mode 100644
index 8661dc0..0000000
--- a/src/components/Counter.jsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import { useState } from 'react';
-
-export default function Counter() {
- const [count, setCount] = useState(0);
-
- return (
- <div className="flex justify-center">
- <button
- className="px-4 py-2 bg-blue-500 text-white rounded-md hover:bg-blue-600 transition-colors"
- onClick={() => setCount(count + 1)}
- >
- Clicked {count} times
- </button>
- </div>
- );
-}
diff --git a/src/config/analytics.js b/src/config/analytics.js
deleted file mode 100644
index e17350d..0000000
--- a/src/config/analytics.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-export const analytics = {
- googleAnalyticsId: '',
- fathomAnalyticsId: ''
-};
-
-export default analytics;
diff --git a/src/layouts/CenteredLayout.astro b/src/layouts/CenteredLayout.astro
deleted file mode 100644
index 1b9286c..0000000
--- a/src/layouts/CenteredLayout.astro
+++ /dev/null
@@ -1,28 +0,0 @@
----
-import "../styles/global.css";
-import Analytics from "../components/Analytics.astro";
-
-interface Props {
- title?: string;
-}
-
-const { title = "Astro Site" } = Astro.props;
----
-
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
- <meta name="viewport" content="width=device-width" />
- <meta name="generator" content={Astro.generator} />
- <title>{title}</title>
- <Analytics />
- </head>
- <body class="min-h-screen bg-white">
- <main class="flex min-h-screen flex-col items-center justify-center p-4">
- <div class="w-full max-w-4xl">
- <slot />
- </div>
- </main>
- </body>
-</html>
diff --git a/src/layouts/StandardLayout.astro b/src/layouts/StandardLayout.astro
deleted file mode 100644
index e6a4bec..0000000
--- a/src/layouts/StandardLayout.astro
+++ /dev/null
@@ -1,54 +0,0 @@
----
-import "../styles/global.css";
-
-interface Props {
- title?: string;
- description?: string;
-}
-
-const {
- title = "Astro Site",
- description = "A simple Astro site with blog functionality",
-} = Astro.props;
-
-import Analytics from "../components/Analytics.astro";
----
-
-<html lang="en">
- <head>
- <meta charset="utf-8" />
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
- <meta name="viewport" content="width=device-width" />
- <meta name="generator" content={Astro.generator} />
- <meta name="description" content={description} />
- <title>{title}</title>
- <Analytics />
- </head>
- <body class="min-h-screen bg-gray-50 flex flex-col">
- <header class="bg-white shadow-sm">
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4">
- <nav class="flex justify-between items-center">
- <a href="/" class="text-xl font-bold text-gray-900">Astro Blog</a>
- <div class="flex space-x-6">
- <a href="/" class="text-gray-700 hover:text-blue-600">Home</a>
- <a href="/blog" class="text-gray-700 hover:text-blue-600">Blog</a>
- </div>
- </nav>
- </div>
- </header>
-
- <main class="flex-grow">
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
- <slot />
- </div>
- </main>
-
- <footer class="bg-white border-t border-gray-200">
- <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-6">
- <p class="text-center text-gray-500 text-sm">
- &copy; {new Date().getFullYear()} Astro Blog. All rights reserved.
- </p>
- </div>
- </footer>
- </body>
-</html>
diff --git a/src/pages/index.astro b/src/pages/index.astro
index fca327e..97dee2d 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -11,106 +11,160 @@ import "@fontsource/inter/700.css";
import "@fontsource/jetbrains-mono/400.css";
import "@fontsource/jetbrains-mono/600.css";
-// Get all names from the collection
const allNames = await getCollection("names");
-const members = allNames.filter(name => name.data.candidate !== true);
-const candidates = allNames.filter(name => name.data.candidate === true);
+const members = allNames.filter((name) => name.data.candidate !== true);
+const candidates = allNames.filter((name) => name.data.candidate === true);
const title = "Domain Name Hack Club";
-const description = "An exclusive club of nerds that own the domain hack to their name";
+const description =
+ "An exclusive club of nerds that own the domain hack to their name";
const url = "https://namehack.club";
---
-<!DOCTYPE html>
+<!doctype html>
<html lang="en">
-<head>
- <meta charset="utf-8">
- <title>{title}</title>
-
- <!-- Basic Meta Tags -->
- <meta name="description" content={description}>
- <meta name="keywords" content="domain, name, hack, club, exclusive, personal, homepage">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="robots" content="index, follow">
- <meta name="author" content="Yuval Adam">
- <link rel="canonical" href={url}>
+ <head>
+ <meta charset="utf-8" />
+ <title>{title}</title>
- <meta property="og:type" content="website">
- <meta property="og:url" content={url}>
- <meta property="og:title" content={title}>
- <meta property="og:description" content={description}>
- <meta property="og:site_name" content={title}>
+ <meta name="description" content={description} />
+ <meta
+ name="keywords"
+ content="domain, name, hack, club, exclusive, personal, homepage"
+ />
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
+ <meta name="robots" content="index, follow" />
+ <meta name="author" content="Yuval Adam" />
+ <link rel="canonical" href={url} />
- <meta name="twitter:card" content="summary">
- <meta name="twitter:url" content={url}>
- <meta name="twitter:title" content={title}>
- <meta name="twitter:description" content={description}>
- <meta name="twitter:creator" content="@yuvadm">
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content={url} />
+ <meta property="og:title" content={title} />
+ <meta property="og:description" content={description} />
+ <meta property="og:site_name" content={title} />
- <link rel="icon" type="image/svg+xml" href="/favicon.svg">
- <link rel="apple-touch-icon" href="/apple-touch-icon.png">
+ <meta name="twitter:card" content="summary" />
+ <meta name="twitter:url" content={url} />
+ <meta name="twitter:title" content={title} />
+ <meta name="twitter:description" content={description} />
+ <meta name="twitter:creator" content="@yuvadm" />
- <script src="https://cdn.usefathom.com/script.js" data-site="SSTGQKAU" defer></script>
-</head>
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
+ <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
-<body class="max-w-5xl mx-auto px-6 py-8" style="font-family: 'Inter', system-ui, -apple-system, sans-serif; line-height: 1.7;">
- <header class="text-center mb-16">
- <h1 class="text-6xl lg:text-7xl font-light tracking-tight mb-6" style="font-family: 'JetBrains Mono', monospace; letter-spacing: -0.02em;">
- Doma<span class="text-gray-400">.</span>in Na<span class="text-gray-400">.</span>me
- Ha<span class="text-gray-400">.</span>ck Cl<span class="text-gray-400">.</span>ub
- </h1>
- <p class="text-xl lg:text-2xl font-light text-gray-700 max-w-4xl mx-auto leading-relaxed">
- An exclusive club of geeks that serve their personal homepage from the
- <a href="https://en.wikipedia.org/wiki/Domain_hack" class="text-pink-600 hover:text-pink-800 font-medium transition-colors duration-200">domain hack</a>
- to their name. Are you one of us? Join the club by opening a pull request on
- <a href="https://github.com/yuvadm/namehack.club" class="text-pink-600 hover:text-pink-800 font-medium transition-colors duration-200">Github</a>
- or send us an email at
- <a href="mailto:join@namehack.club" class="text-pink-600 hover:text-pink-800 font-medium transition-colors duration-200">join@namehack.club</a>.
- </p>
- </header>
+ <script
+ src="https://cdn.usefathom.com/script.js"
+ data-site="SSTGQKAU"
+ defer></script>
+ </head>
- <main class="space-y-12">
- <section>
- <h2 class="text-3xl font-semibold mb-8 text-gray-900 flex items-center gap-3">
- <span class="text-2xl">💎</span>
- <span>Members</span>
- <span class="text-lg text-gray-500 font-light">({members.length})</span>
- </h2>
- <ul class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
- {members.map((name) => (
- <li class="border border-gray-100 rounded-lg p-4 hover:bg-gray-50 hover:border-gray-200 transition-all duration-200">
- <div class="text-lg font-medium mb-1">
- <NameLink name={name} size="medium" />
- </div>
- <div class="text-gray-600 text-sm font-light">{name.data.title}</div>
- </li>
- ))}
- </ul>
- </section>
+ <body
+ class="max-w-5xl mx-auto px-6 py-8"
+ style="font-family: 'Inter', system-ui, -apple-system, sans-serif; line-height: 1.7;"
+ >
+ <header class="text-center mb-16">
+ <h1
+ class="text-6xl lg:text-7xl font-light tracking-tight mb-6"
+ style="font-family: 'JetBrains Mono', monospace; letter-spacing: -0.02em;"
+ >
+ Doma<span class="text-gray-400">.</span>in Na<span
+ class="text-gray-400">.</span
+ >me Ha<span class="text-gray-400">.</span>ck Cl<span
+ class="text-gray-400">.</span
+ >ub
+ </h1>
+ <p
+ class="text-xl lg:text-2xl font-light text-gray-700 max-w-4xl mx-auto leading-relaxed"
+ >
+ An exclusive club of geeks that serve their personal homepage
+ from the
+ <a
+ href="https://en.wikipedia.org/wiki/Domain_hack"
+ class="text-pink-600 hover:text-pink-800 font-medium transition-colors duration-200"
+ >domain hack</a
+ >
+ to their name. Are you one of us? Join the club by opening a pull
+ request on
+ <a
+ href="https://github.com/yuvadm/namehack.club"
+ class="text-pink-600 hover:text-pink-800 font-medium transition-colors duration-200"
+ >Github</a
+ >
+ or send us an email at
+ <a
+ href="mailto:join@namehack.club"
+ class="text-pink-600 hover:text-pink-800 font-medium transition-colors duration-200"
+ >join@namehack.club</a
+ >.
+ </p>
+ </header>
- <section>
- <h2 class="text-3xl font-semibold mb-8 text-gray-900 flex items-center gap-3">
- <span class="text-2xl">⭐</span>
- <span>Candidates</span>
- <span class="text-lg text-gray-500 font-light">({candidates.length})</span>
- </h2>
- <ul class="grid grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-2">
- {candidates.map((name) => (
- <li class="p-1 rounded hover:bg-gray-50 transition-colors duration-200 text-center text-xs">
- <NameLink name={name} size="small" />
- </li>
- ))}
- </ul>
- </section>
- </main>
+ <main class="space-y-12">
+ <section>
+ <h2
+ class="text-3xl font-semibold mb-8 text-gray-900 flex items-center gap-3"
+ >
+ <span class="text-2xl">💎</span>
+ <span>Members</span>
+ <span class="text-lg text-gray-500 font-light"
+ >({members.length})</span
+ >
+ </h2>
+ <ul
+ class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"
+ >
+ {
+ members.map((name) => (
+ <li class="border border-gray-100 rounded-lg p-4 hover:bg-gray-50 hover:border-gray-200 transition-all duration-200">
+ <div class="text-lg font-medium mb-1">
+ <NameLink name={name} size="large" />
+ </div>
+ <div class="text-gray-600 text-sm font-light">
+ {name.data.title}
+ </div>
+ </li>
+ ))
+ }
+ </ul>
+ </section>
+ <section>
+ <h2
+ class="text-3xl font-semibold mb-8 text-gray-900 flex items-center gap-3"
+ >
+ <span class="text-2xl">⭐</span>
+ <span>Candidates</span>
+ <span class="text-lg text-gray-500 font-light"
+ >({candidates.length})</span
+ >
+ </h2>
+ <ul
+ class="grid grid-cols-3 md:grid-cols-4 lg:grid-cols-5 gap-2"
+ >
+ {
+ candidates.map((name) => (
+ <li class="p-1 rounded hover:bg-gray-50 transition-colors duration-200 text-center text-xs">
+ <NameLink name={name} size="small" />
+ </li>
+ ))
+ }
+ </ul>
+ </section>
+ </main>
- <hr class="mt-16 mb-8 border-gray-200">
- <footer class="text-center text-gray-600 leading-relaxed pb-8">
- <p class="text-lg font-light">
- Created by <a href="https://yuv.al" class="text-green-600 hover:text-green-800 font-medium transition-colors duration-200">Yuval Adam</a>.
- Maintained collaboratively on <a href="https://github.com/yuvadm/namehack.club" class="text-green-600 hover:text-green-800 font-medium transition-colors duration-200">Github</a>.
- </p>
- </footer>
-</body>
+ <hr class="mt-16 mb-8 border-gray-200" />
+ <footer class="text-center text-gray-600 leading-relaxed pb-8">
+ <p class="text-lg font-light">
+ Created by <a
+ href="https://yuv.al"
+ class="text-green-600 hover:text-green-800 font-medium transition-colors duration-200"
+ >Yuval Adam</a
+ >. Maintained collaboratively on <a
+ href="https://github.com/yuvadm/namehack.club"
+ class="text-green-600 hover:text-green-800 font-medium transition-colors duration-200"
+ >Github</a
+ >.
+ </p>
+ </footer>
+ </body>
</html>