chore: updated /feeds d80afa38
Steve · 2026-05-04 21:45 2 file(s) · +46 −11
src/data/constants.ts +7 −2
74 74
export type RssFeed = {
75 75
	name: string;
76 76
	href: string;
77 +
	description?: string;
77 78
};
78 79
79 80
export const RSS_FEEDS: RssFeed[] = [
80 81
	{
81 82
		name: "Blog Posts",
82 83
		href: "/rss.xml",
84 +
		description: "Long-form writing and notes from this site.",
83 85
	},
84 86
	{
85 -
		name: "Now Updates",
86 -
		href: "/now/rss.xml",
87 +
		name: "Now Page Updates",
88 +
		href: "https://posts.stevedylan.dev/feed.xml",
89 +
		description: "Micro blog format from posts.stevedylan.dev",
87 90
	},
88 91
	{
89 92
		name: "Photos",
90 93
		href: "https://steve.photo/rss.xml",
94 +
		description: "New photos posted to steve.photo.",
91 95
	},
92 96
	{
93 97
		name: "Wine Log",
94 98
		href: "https://cellar.stevedylan.dev/feed.xml",
99 +
		description: "Wines I've tasted, logged in the cellar.",
95 100
	},
96 101
];
97 102
src/pages/feeds.astro +39 −9
11 11
  <div class="space-y-6">
12 12
    <h1 class="title">Feeds</h1>
13 13
    <p>RSS feeds available on this site and some of my other apps. Drop any of these into your reader of choice.</p>
14 -
    <ul class="space-y-4">
15 -
      {RSS_FEEDS.map((feed) => (
16 -
        <li>
17 -
          <p>{feed.name}</p>
18 -
          <a href={feed.href} target="_blank" rel="noreferrer" class="style-link">
19 -
            {feed.href}
20 -
          </a>
21 -
        </li>
22 -
      ))}
14 +
    <ul class="list-none pl-0 grid grid-cols-1 sm:grid-cols-2 gap-4">
15 +
      {RSS_FEEDS.map((feed) => {
16 +
        const absHref = feed.href.startsWith("http")
17 +
          ? feed.href
18 +
          : `https://stevedylan.dev${feed.href}`;
19 +
        return (
20 +
          <li class="group relative flex flex-col gap-2 border border-zinc-700 hover:border-zinc-500 rounded-md p-4 transition-colors">
21 +
            <div class="flex items-center gap-2">
22 +
              <svg
23 +
                xmlns="http://www.w3.org/2000/svg"
24 +
                width="18"
25 +
                height="18"
26 +
                viewBox="0 0 256 256"
27 +
                class="shrink-0 text-accent-2"
28 +
                aria-hidden="true"
29 +
              >
30 +
                <path
31 +
                  fill="currentColor"
32 +
                  d="M106.91 149.09A71.53 71.53 0 0 1 128 200a8 8 0 0 1-16 0a56 56 0 0 0-56-56a8 8 0 0 1 0-16a71.53 71.53 0 0 1 50.91 21.09M56 80a8 8 0 0 0 0 16a104 104 0 0 1 104 104a8 8 0 0 0 16 0A120 120 0 0 0 56 80m118.79 1.21A166.9 166.9 0 0 0 56 32a8 8 0 0 0 0 16a151 151 0 0 1 107.48 44.52A151 151 0 0 1 208 200a8 8 0 0 0 16 0a166.9 166.9 0 0 0-49.21-118.79M60 184a12 12 0 1 0 12 12a12 12 0 0 0-12-12"
33 +
                />
34 +
              </svg>
35 +
              <p class="font-bold m-0">{feed.name}</p>
36 +
            </div>
37 +
            {feed.description && (
38 +
              <p class="m-0 text-zinc-400">{feed.description}</p>
39 +
            )}
40 +
            <div class="flex items-center gap-2 mt-auto pt-2">
41 +
              <a
42 +
                href={feed.href}
43 +
                target="_blank"
44 +
                rel="noreferrer"
45 +
                class="style-link truncate text-xs"
46 +
              >
47 +
                {feed.href}
48 +
              </a>
49 +
            </div>
50 +
          </li>
51 +
        );
52 +
      })}
23 53
    </ul>
24 54
    <p>If you're looking for the list of blogs I follow, check out <a class="style-link" href="/blogroll">/blogroll</a></p>
25 55
  </div>