50 lines
2.4 KiB
Text
50 lines
2.4 KiB
Text
---
|
|
|
|
import { compareDesc, format, parseISO } from 'date-fns'
|
|
import { toZonedTime } from 'date-fns-tz'
|
|
|
|
import BaseLayout from '../layouts/BaseLayout.astro';
|
|
|
|
import HR from "../components/HR.astro";
|
|
import MDXCallout from '../components/mdx/MDXCallout.astro';
|
|
|
|
import { getCollection, getEntry } from 'astro:content';
|
|
|
|
import sfjson from "../data/sharefeed.json";
|
|
import type { ShareFeedEntry } from "../lib/utils";
|
|
|
|
const entries = sfjson.sharefeed
|
|
.sort((a:ShareFeedEntry,b:ShareFeedEntry) => compareDesc(new Date(a.posted), new Date(b.posted)))
|
|
.filter((entry: ShareFeedEntry) => !(entry.draft))
|
|
|
|
---
|
|
|
|
<BaseLayout title="sharefeed">
|
|
<h1 class="font-serif text-3xl my-2">Sharefeed</h2>
|
|
<p class="mb-2">Sometimes, I come across other people's blog posts, articles, or other resources that I find interesting. This is my space to share those resources with you.</p>
|
|
<p class="mb-2">Every link includes a brief note or summary that I wrote up describing that specific entry and why I find it interesting or noteworthy.</p>
|
|
<MDXCallout>"interesting" does not necessarily mean "good", "factual", or even "ethical". Sometimes, I may link something here because I <b>don't</b> like it and want to debunk it later. In these cases, I will make sure to specify that fact. Be sure to keep an eye on my journal or blog when I post one of those.</MDXCallout>
|
|
<p class="mb-2">If you want to subscribe to this feed on your RSS reader, click the <a href="/feeds" class="text-subtitle text-sm font-serif">rss</a> button.</p>
|
|
|
|
<HR/>
|
|
|
|
<ul classs="space-y-2">
|
|
{entries.map((entry: ShareFeedEntry, idx: number, array: ShareFeedEntry[]) => (
|
|
<>
|
|
<li key={idx} class="mb-2">
|
|
<a href={entry.url} class="font-serif text-lg text-crusta-400 dark:text-night-300 hover:underline">
|
|
{entry.author ? `${entry.author}: ` : ''}
|
|
{entry.title}
|
|
</a>
|
|
<p class="text-sm text-subtitle">
|
|
<span class="italic">< {entry.url} ></span><br/>
|
|
{entry.pubDate ? `originally published on ${format(entry.pubDate, "LLLL d, yyyy")} - ` : ''}
|
|
retrieved {format(entry.date, "LLLL d, yyyy")}
|
|
</p>
|
|
<p>{entry.note}</p>
|
|
</li>
|
|
{((idx + 1) % 10 == 0) ? (<HR/>) : ''}
|
|
</>
|
|
))}
|
|
</ul>
|
|
</BaseLayout>
|