summaryrefslogtreecommitdiff
path: root/src/pages/index.astro
blob: 1981ec1aab37132724a675c0767ab214d39daf65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
---
import { getCollection } from "astro:content";

import "../styles/global.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);
---

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Domain Name Hack Club</title>
	<meta name="description" content="An exclusive club of nerds that own the domain hack to their name">
	<meta name="keywords" content="domain, name, hack, club, exclusive, personal, homepage">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name="robots" content="all">
	<link rel="canonical" href="https://namehack.club/">
	<script src="https://cdn.usefathom.com/script.js" data-site="SSTGQKAU" defer></script>
</head>

<body class="max-w-4xl mx-auto px-4 font-sans">
	<h1 class="mt-20 text-5xl text-center font-mono">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="leading-relaxed text-xl">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">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">Github</a> or send us an
		email at <a href="mailto:join@namehack.club" class="text-pink-600 hover:text-pink-800">join@namehack.club</a>.</p>

	<h2 class="pt-8 text-2xl font-bold">💎 Members</h2>
	<ul class="list-none pl-0">
		{members.map((name) => {
			const nameParts = name.data.name.toLowerCase().split(" ");
			const domain = name.data.domain.replace(".", "");
			const url = name.data.url || `https://${name.data.domain}`;
			
			return (
				<li class="mb-3">
					<div class="text-2xl">
						{nameParts.map((part, index) => (
							<>
								{index > 0 && " "}
								{part === domain ? (
									<a href={url} class="text-blue-600 hover:text-blue-800 hover:underline">
										{name.data.domain}
									</a>
								) : (
									<span>{part}</span>
								)}
							</>
						))}
					</div>
					<div class="text-gray-600 font-serif mt-1">{name.data.title}</div>
				</li>
			);
		})}
	</ul>

	<h2 class="pt-8 text-2xl font-bold">⭐ Candidates</h2>
	<ul class="pl-0 flex flex-wrap justify-between">
		{candidates.map((name) => {
			const nameParts = name.data.name.toLowerCase().split(" ");
			const domain = name.data.domain.replace(".", "");
			const url = name.data.url || `https://${name.data.domain}`;
			
			return (
				<li class="mb-3 inline-block pr-3">
					<span class="text-xl">
						{nameParts.map((part, index) => (
							<>
								{index > 0 && " "}
								{part === domain ? (
									<a href={url} class="text-blue-600 hover:text-blue-800 hover:underline" rel="nofollow">
										{name.data.domain}
									</a>
								) : (
									<span>{part}</span>
								)}
							</>
						))}
					</span>
				</li>
			);
		})}
	</ul>

	<hr class="mt-8 border-gray-200">
	<footer class="text-right leading-relaxed mb-4">
		Created by <a href="https://yuv.al" class="text-green-600 hover:text-green-800">Yuval Adam</a>. Maintained collaboratively on <a
			href="https://github.com/yuvadm/namehack.club" class="text-green-600 hover:text-green-800">Github</a>.
	</footer>
</body>
</html>