+11
src/components/CardItem.astro
+11
src/components/CardItem.astro
-2
src/pages/blogs/[blog].astro
-2
src/pages/blogs/[blog].astro
···
9
9
const documents = await getCollection("documents");
10
10
const blogs = await getCollection("blogs");
11
11
12
-
// Combine both collections for static paths
13
12
const allPosts = [
14
13
...documents.map((document) => ({
15
14
params: { blog: document.id },
···
24
23
return allPosts;
25
24
}
26
25
27
-
// Try to get the entry from both collections
28
26
let entry: CollectionEntry<"documents"> | CollectionEntry<"blogs"> | undefined =
29
27
await getEntry("documents", Astro.params.blog);
30
28
+6
-17
src/pages/index.astro
+6
-17
src/pages/index.astro
···
7
7
const documents = await getCollection("documents");
8
8
const blogs = await getCollection("blogs");
9
9
10
-
// Combine both collections and sort by publishedAt
11
10
const allPosts = [
12
11
...blogs.map((blog) => ({
13
12
...blog,
···
25
24
})),
26
25
]
27
26
.sort((a, b) => b.data.publishedAt.valueOf() - a.data.publishedAt.valueOf())
28
-
.slice(0, 5); // Show only the 5 most recent
27
+
.slice(0, 5);
29
28
---
30
29
31
30
<Layout
···
93
92
<li class="flex items-center gap-1">
94
93
<div class="i-lucide-mailbox"></div>
95
94
<Link
96
-
href="mailto:khadane.miller@gmail.com?subject=Hey%20There"
95
+
href="mailto:me@dane.computer?subject=Hey%20There"
97
96
>
98
-
Send Message
97
+
send message
99
98
</Link>
100
99
</li>
101
100
<li class="flex items-center gap-1">
···
105
104
target="_blank"
106
105
rel="noopener noreferrer"
107
106
>
108
-
Add on LinkedIn
109
-
</Link>
110
-
</li>
111
-
<li class="flex items-center gap-1">
112
-
<div class="i-lucide-at-sign"></div>
113
-
<Link
114
-
href="https://www.threads.net/@dane__m"
115
-
target="_blank"
116
-
rel="noopener noreferrer"
117
-
>
118
-
Follow on Threads
107
+
add on linkedin
119
108
</Link>
120
109
</li>
121
110
<li class="flex items-center gap-1">
122
111
<div class="i-tabler-brand-bluesky"></div>
123
112
<Link
124
-
href="https://bsky.app/profile/dane.computer"
113
+
href="https://bsky.app/profile/dane.is.extraordinarily.cool"
125
114
target="_blank"
126
115
rel="noopener noreferrer"
127
116
>
128
-
Follow on BlueSky
117
+
follow on bluesky
129
118
</Link>
130
119
</li>
131
120
</ul>
+83
src/pages/uses.astro
+83
src/pages/uses.astro
···
1
+
---
2
+
import CardItem from "@components/CardItem.astro";
3
+
import Layout from "@layouts/Layout.astro";
4
+
const uses = {
5
+
hardware: [
6
+
{
7
+
item: "Macbook Air (M2, 2022)",
8
+
description:
9
+
"My personal laptop that I use for development or just surfing the web",
10
+
},
11
+
{
12
+
item: "Sony WH-1000XM5 Headphones",
13
+
description: "Headphones that I use when I'm at my desktop or laptop.",
14
+
},
15
+
{
16
+
item: "EPOMAKER P75",
17
+
description:
18
+
"My daily driver keyboard at the moment. Previously used an NK65 keyboard with lubed yellow switches.",
19
+
},
20
+
{
21
+
item: "Logitech MX Master 3S",
22
+
description:
23
+
"Easily one of the best mice I've used. If this one breaks I'm buying another one.",
24
+
},
25
+
{
26
+
item: "Dell 34inch Curved Gaming Monitor",
27
+
description:
28
+
"No complaints about this monitor. Was skeptical about ultrawide monitors but it's been an alright experience.",
29
+
},
30
+
],
31
+
tools: [
32
+
{
33
+
item: "Zed",
34
+
description: "My current preferred code editor.",
35
+
},
36
+
{
37
+
item: "Ghostty",
38
+
description:
39
+
"Haven't been using this very long but I've been enjoying it. Does what it needs to and it's fast.",
40
+
},
41
+
{
42
+
item: "Tangled",
43
+
description:
44
+
"I've started pushing my code to tangled.sh since they now support a lot of the features I wanted from other services. It's also built on the AT Protocol.",
45
+
},
46
+
],
47
+
};
48
+
---
49
+
50
+
<Layout
51
+
title="Dane's Space | Uses"
52
+
description="A list of the hardware, software, and tools that power my daily workflow and help me build great things."
53
+
>
54
+
<h1 class="mt-4 mb-4 text-2xl font-bold text-snes-black">Uses</h1>
55
+
<p class="mb-10">
56
+
A comprehensive list of the hardware, software, and tools that power my
57
+
daily workflow and help me build great things.
58
+
</p>
59
+
<section id="uses" class="mb-10">
60
+
<h2 class="font-semibold text-xl mb-4">Hardware</h2>
61
+
<ul class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
62
+
{
63
+
uses.hardware.map(({ item, description }) => {
64
+
return (
65
+
<CardItem name={item} description={description}/>
66
+
);
67
+
})
68
+
}
69
+
</ul>
70
+
</section>
71
+
<section id="tools">
72
+
<h2 class="font-semibold text-xl mb-4">Development Tools</h2>
73
+
<ul class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
74
+
{
75
+
uses.tools.map(({ item, description }) => {
76
+
return (
77
+
<CardItem name={item} description={description}/>
78
+
);
79
+
})
80
+
}
81
+
</ul>
82
+
</section>
83
+
</Layout>