From 0f65b996085d8aa76029163817bf7f28215cd5d6 Mon Sep 17 00:00:00 2001 From: "houston[bot]" Date: Thu, 12 Jun 2025 22:12:30 +0200 Subject: Initial commit from Astro --- src/components/Analytics.astro | 33 ++++++ src/components/Counter.jsx | 16 +++ src/config/analytics.js | 7 ++ src/content/blog/getting-started-with-astro.md | 48 +++++++++ src/content/blog/integrating-react-with-astro.md | 81 +++++++++++++++ src/content/blog/tailwind-css-in-astro.md | 122 +++++++++++++++++++++++ src/content/config.ts | 19 ++++ src/layouts/CenteredLayout.astro | 28 ++++++ src/layouts/StandardLayout.astro | 54 ++++++++++ src/pages/blog/[slug].astro | 67 +++++++++++++ src/pages/blog/index.astro | 48 +++++++++ src/pages/index.astro | 78 +++++++++++++++ src/styles/global.css | 2 + 13 files changed, 603 insertions(+) create mode 100644 src/components/Analytics.astro create mode 100644 src/components/Counter.jsx create mode 100644 src/config/analytics.js create mode 100644 src/content/blog/getting-started-with-astro.md create mode 100644 src/content/blog/integrating-react-with-astro.md create mode 100644 src/content/blog/tailwind-css-in-astro.md create mode 100644 src/content/config.ts create mode 100644 src/layouts/CenteredLayout.astro create mode 100644 src/layouts/StandardLayout.astro create mode 100644 src/pages/blog/[slug].astro create mode 100644 src/pages/blog/index.astro create mode 100644 src/pages/index.astro create mode 100644 src/styles/global.css (limited to 'src') diff --git a/src/components/Analytics.astro b/src/components/Analytics.astro new file mode 100644 index 0000000..0352bea --- /dev/null +++ b/src/components/Analytics.astro @@ -0,0 +1,33 @@ +--- +import { analytics } from "../config/analytics"; + +const GOOGLE_ANALYTICS_ID = analytics.googleAnalyticsId; +const FATHOM_ANALYTICS_ID = analytics.fathomAnalyticsId; +--- + +{ + GOOGLE_ANALYTICS_ID && ( + + ) +} +{ + FATHOM_ANALYTICS_ID && ( + + + + +

Doma.in Na.me + Ha.ck Cl.ub

+

An exclusive club of geeks that serve their personal homepage from the domain hack to their name. Are you + one of us? Join the club by opening a pull + request on Github or send us an + email at join@namehack.club.

-
-
-
-

- Latest Blog Posts -

- View all posts → -
+

💎 Members

+
    + {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 ( +
  • +
    + {nameParts.map((part, index) => ( + <> + {index > 0 && " "} + {part === domain ? ( + + {name.data.domain} + + ) : ( + {part} + )} + + ))} +
    +
    {name.data.title}
    +
  • + ); + })} +
-
- { - featuredPosts.map((post) => ( -
- - {post.data.image && ( - {post.data.title} +

⭐ Candidates

+
- )) - } -
-
-
- + + ))} + + + ); + })} + + +
+ + + -- cgit v1.3.1 From f1bb6bc52f8e5b2ccd54ba7c5a36f2359628f83c Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Thu, 12 Jun 2025 22:27:42 +0200 Subject: Extract NameLink --- src/components/NameLink.astro | 42 +++++++++++++++++++++++++++++ src/pages/index.astro | 63 ++++++++++--------------------------------- 2 files changed, 56 insertions(+), 49 deletions(-) create mode 100644 src/components/NameLink.astro (limited to 'src') diff --git a/src/components/NameLink.astro b/src/components/NameLink.astro new file mode 100644 index 0000000..8ceb7e1 --- /dev/null +++ b/src/components/NameLink.astro @@ -0,0 +1,42 @@ +--- +interface Props { + name: { + data: { + name: string; + domain: string; + url?: string; + candidate?: boolean; + }; + }; + size?: 'large' | 'small'; +} + +const { name, size = 'large' } = Astro.props; +const nameParts = name.data.name.toLowerCase().split(" "); +const domain = name.data.domain.replace(".", ""); +const url = name.data.url || `https://${name.data.domain}`; + +const sizeClasses = { + large: 'text-2xl', + small: 'text-xl' +}; +--- + + + {nameParts.map((part, index) => ( + <> + {index > 0 && " "} + {part === domain ? ( + + {name.data.domain} + + ) : ( + {part} + )} + + ))} + \ No newline at end of file diff --git a/src/pages/index.astro b/src/pages/index.astro index 1981ec1..9dfc1ee 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,5 +1,6 @@ --- import { getCollection } from "astro:content"; +import NameLink from "../components/NameLink.astro"; import "../styles/global.css"; @@ -34,59 +35,23 @@ const candidates = allNames.filter(name => name.data.candidate === true);

💎 Members

⭐ Candidates


-- cgit v1.3.1 From de0255ecfbdc9d33e3a20c74c01bded9a24881ca Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Fri, 13 Jun 2025 09:23:35 +0200 Subject: Add more meta and OG --- src/pages/index.astro | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/pages/index.astro b/src/pages/index.astro index 9dfc1ee..f7479c4 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -8,19 +8,41 @@ import "../styles/global.css"; 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"; --- - Domain Name Hack Club - + {title} + + + - - - + + + + + + + + + + + + + + + + + + + -- cgit v1.3.1 From bae61910dd9aee1ab75bd9f7ca3bc20e749342ba Mon Sep 17 00:00:00 2001 From: Yuval Adam <_@yuv.al> Date: Sat, 14 Jun 2025 23:30:09 +0200 Subject: Add some fonts --- .gitignore | 2 ++ package-lock.json | 20 ++++++++++++ package.json | 4 ++- src/pages/index.astro | 90 +++++++++++++++++++++++++++++++++------------------ 4 files changed, 84 insertions(+), 32 deletions(-) (limited to 'src') diff --git a/.gitignore b/.gitignore index 16d54bb..f24a9ea 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ pnpm-debug.log* # jetbrains setting folder .idea/ + +.claude/ \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0cf9857..001bf11 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,8 @@ "version": "0.0.1", "dependencies": { "@astrojs/react": "^4.3.0", + "@fontsource/inter": "^5.2.6", + "@fontsource/jetbrains-mono": "^5.2.6", "@tailwindcss/vite": "^4.1.7", "@types/react": "^19.1.5", "@types/react-dom": "^19.1.5", @@ -833,6 +835,24 @@ "node": ">=18" } }, + "node_modules/@fontsource/inter": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.2.6.tgz", + "integrity": "sha512-CZs9S1CrjD0jPwsNy9W6j0BhsmRSQrgwlTNkgQXTsAeDRM42LBRLo3eo9gCzfH4GvV7zpyf78Ozfl773826csw==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/jetbrains-mono": { + "version": "5.2.6", + "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.2.6.tgz", + "integrity": "sha512-nz//dBr99hXZmHp10wgNI00qThWImkzRR5PQjvRM+rpmuHO5rYBJCqPPWufidCvmkkryXx/GOP/lgqsM3R3Org==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@img/sharp-darwin-arm64": { "version": "0.33.5", "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", diff --git a/package.json b/package.json index 0d8a661..fc0bd05 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ }, "dependencies": { "@astrojs/react": "^4.3.0", + "@fontsource/inter": "^5.2.6", + "@fontsource/jetbrains-mono": "^5.2.6", "@tailwindcss/vite": "^4.1.7", "@types/react": "^19.1.5", "@types/react-dom": "^19.1.5", @@ -21,4 +23,4 @@ "devDependencies": { "@tailwindcss/typography": "^0.5.16" } -} \ No newline at end of file +} diff --git a/src/pages/index.astro b/src/pages/index.astro index f7479c4..a320a82 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -3,6 +3,13 @@ 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"); @@ -46,40 +53,61 @@ const url = "https://namehack.club"; - -

Doma.in Na.me - Ha.ck Cl.ub

-

An exclusive club of geeks that serve their personal homepage from the domain hack to their name. Are you - one of us? Join the club by opening a pull - request on Github or send us an - email at join@namehack.club.

+ +
+

+ Doma.in Na.me + Ha.ck Cl.ub +

+

+ An exclusive club of geeks that serve their personal homepage from the + domain hack + to their name. Are you one of us? Join the club by opening a pull request on + Github + or send us an email at + join@namehack.club. +

+
-

💎 Members

- +
+
+

+ 💎 + Members +

+
    + {members.map((name) => ( +
  • +
    + +
    +
    {name.data.title}
    +
  • + ))} +
+
-

⭐ Candidates

- +
+

+ + Candidates +

+
    + {candidates.map((name) => ( +
  • + +
  • + ))} +
+
+
-
-