chore: added RSS link 0b9b8608
Steve · 2025-10-03 15:42 5 file(s) · +77 −31
public/_redirects +2 −0
1 1
/invalid /404
2 2
/pinata https://pinata.cloud
3 +
/feed /feed/
4 +
/rss /rss/
3 5
4 6
404 /404
src/components/SocialList.astro +29 −31
28 28
          <span class="sr-only">Email</span>
29 29
        </a>
30 30
      </li>
31 -
	<li>
32 -
		<a
33 -
			class="inline-block p-2 sm:hover:text-link"
34 -
			href={SOCIAL_LINKS.github}
35 -
			target="_blank"
36 -
			rel="noopener noreferrer"
37 -
		>
38 -
			<svg
39 -
				class="h-6 w-6"
40 -
				aria-hidden="true"
41 -
				focusable="false"
42 -
				xmlns="http://www.w3.org/2000/svg"
43 -
				viewBox="0 0 24 24"
44 -
				stroke-width="1.5"
45 -
				stroke="currentColor"
46 -
				fill="none"
47 -
				stroke-linecap="round"
48 -
				stroke-linejoin="round"
31 +
		<li>
32 +
			<a
33 +
				class="inline-block p-2 sm:hover:text-link"
34 +
				href={SOCIAL_LINKS.rss}
35 +
				target="_blank"
36 +
				rel="noopener noreferrer"
49 37
			>
50 -
				<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
51 -
				<path
52 -
					d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"
38 +
				<svg
39 +
					xmlns="http://www.w3.org/2000/svg"
40 +
					class="h-6 w-6"
41 +
					viewBox="0 0 24 24"
42 +
					stroke-width="1.5"
43 +
					stroke="currentColor"
44 +
					fill="none"
45 +
					stroke-linecap="round"
46 +
					stroke-linejoin="round"
53 47
				>
54 -
				</path>
55 -
			</svg>
56 -
			<span class="sr-only">Github</span>
57 -
		</a>
58 -
	</li>
48 +
				<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16"/><circle cx="5" cy="19" r="1"/></g>
49 +
				</svg>
50 +
				<span class="sr-only">RSS</span>
51 +
			</a>
52 +
		</li>
59 53
		<li>
60 54
			<a
61 55
				class="inline-block p-2 sm:hover:text-link"
62 -
				href={SOCIAL_LINKS.farcaster}
56 +
				href={SOCIAL_LINKS.github}
63 57
				target="_blank"
64 58
				rel="noopener noreferrer"
65 59
			>
66 60
				<svg
61 +
					class="h-6 w-6"
62 +
					aria-hidden="true"
63 +
					focusable="false"
67 64
					xmlns="http://www.w3.org/2000/svg"
68 -
					class="h-5 w-5"
69 65
					viewBox="0 0 24 24"
70 66
					stroke-width="1.5"
71 67
					stroke="currentColor"
73 69
					stroke-linecap="round"
74 70
					stroke-linejoin="round"
75 71
				>
72 +
					<path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
76 73
					<path
77 -
						d="M1.30081 5.95589L0.663137 3.72734H4.11868H4.61868V3.22734V0.5H19.0974V3.22734V3.72734H19.5974H23.3371L22.7003 5.95589H22.2967H21.7967V6.45589V19.5144V20.0144H22.2967C22.3976 20.0144 22.5064 20.1036 22.5064 20.247V21.1275V21.6275H23.0064H23.1484C23.2487 21.6275 23.3581 21.7161 23.3581 21.8612V22.2418H16.4058V21.8612C16.4058 21.7161 16.5151 21.6275 16.6155 21.6275H16.7574H17.2574V21.1275V20.247C17.2574 20.125 17.34 20.0375 17.4271 20.0183L17.82 19.9314L17.8192 19.529L17.8035 12.3237L17.8035 12.3024L17.8016 12.2813C17.5291 9.15908 14.985 6.68965 11.8581 6.68965C8.73115 6.68965 6.18706 9.15908 5.91448 12.2813L5.91263 12.3025L5.91259 12.3238L5.89816 19.523L5.89729 19.9535L6.32283 20.0183C6.42585 20.034 6.55708 20.0886 6.65436 20.1647C6.71995 20.216 6.73823 20.2498 6.74258 20.2594V21.1275V21.6275H7.24258H7.38452C7.486 21.6275 7.59543 21.7173 7.59543 21.8612V22.2418H0.641941V21.8612C0.641941 21.7173 0.751371 21.6275 0.852847 21.6275H0.994788H1.49479V21.1275V20.247C1.49479 20.1036 1.60357 20.0144 1.70449 20.0144H2.20449V19.5144V6.45589V5.95589H1.70449H1.30081Z"
78 -
					></path>
74 +
						d="M9 19c-4.3 1.4 -4.3 -2.5 -6 -3m12 5v-3.5c0 -1 .1 -1.4 -.5 -2c2.8 -.3 5.5 -1.4 5.5 -6a4.6 4.6 0 0 0 -1.3 -3.2a4.2 4.2 0 0 0 -.1 -3.2s-1.1 -.3 -3.5 1.3a12.3 12.3 0 0 0 -6.2 0c-2.4 -1.6 -3.5 -1.3 -3.5 -1.3a4.2 4.2 0 0 0 -.1 3.2a4.6 4.6 0 0 0 -1.3 3.2c0 4.6 2.7 5.7 5.5 6c-.6 .6 -.6 1.2 -.5 2v3.5"
75 +
					>
76 +
					</path>
79 77
				</svg>
80 -
				<span class="sr-only">Farcaster</span>
78 +
				<span class="sr-only">Github</span>
81 79
			</a>
82 80
		</li>
83 81
		<li>
src/data/constants.ts +1 −0
41 41
	orbiter: "https://orbiter.host",
42 42
	ethereum: "https://app.ens.domains/stevedylandev.eth",
43 43
	email: "mailto:contact@stevedylan.dev",
44 +
	rss: "https://stevedylan.dev/rss.xml",
44 45
};
src/pages/feed.xml.ts (added) +21 −0
1 +
import rss from "@astrojs/rss";
2 +
import { getCollection } from "astro:content";
3 +
import siteMeta from "@/site-config";
4 +
5 +
export async function GET() {
6 +
	const posts = await getCollection("post");
7 +
	const visiblePosts = posts.filter((post) => !post.data.hidden);
8 +
9 +
	return rss({
10 +
		title: siteMeta.title,
11 +
		description: siteMeta.description,
12 +
		site: "https://stevedylan.dev",
13 +
		items: visiblePosts.map((post) => ({
14 +
			title: post.data.title,
15 +
			description: post.data.description,
16 +
			pubDate: post.data.publishDate,
17 +
			link: `/posts/${post.slug}`,
18 +
			content: post.body,
19 +
		})),
20 +
	});
21 +
}
src/pages/links.astro +24 −0
63 63
          <span class="sr-only">Email</span>
64 64
        </a>
65 65
      </li>
66 +
    		<li>
67 +
			<a
68 +
  			class="flex items-center gap-4 p-2 sm:hover:text-link"
69 +
				href={SOCIAL_LINKS.rss}
70 +
				target="_blank"
71 +
				rel="noopener noreferrer"
72 +
			>
73 +
				<svg
74 +
					xmlns="http://www.w3.org/2000/svg"
75 +
					class="h-6 w-6"
76 +
					viewBox="0 0 24 24"
77 +
					stroke-width="1.5"
78 +
					stroke="currentColor"
79 +
					fill="none"
80 +
					stroke-linecap="round"
81 +
					stroke-linejoin="round"
82 +
				>
83 +
				<g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16"/><circle cx="5" cy="19" r="1"/></g>
84 +
				</svg>
85 +
				RSS
86 +
				<span class="sr-only">RSS</span>
87 +
			</a>
88 +
		</li>
89 +
66 90
      <li>
67 91
        <a
68 92
          class="flex items-center gap-4 p-2 sm:hover:text-link"