diff options
Diffstat (limited to 'src/pages/index.astro')
| -rw-r--r-- | src/pages/index.astro | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..fca327e --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,116 @@ +--- +import { getCollection } from "astro:content"; +import NameLink from "../components/NameLink.astro"; + +import "../styles/global.css"; +import "@fontsource/inter/300.css"; +import "@fontsource/inter/400.css"; +import "@fontsource/inter/500.css"; +import "@fontsource/inter/600.css"; +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 title = "Domain Name Hack Club"; +const description = "An exclusive club of nerds that own the domain hack to their name"; +const url = "https://namehack.club"; +--- + +<!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}> + + <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="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"> + + <link rel="icon" type="image/svg+xml" href="/favicon.svg"> + <link rel="apple-touch-icon" href="/apple-touch-icon.png"> + + <script src="https://cdn.usefathom.com/script.js" data-site="SSTGQKAU" defer></script> +</head> + +<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> + + <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> + + <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> +</html> |
