diff options
Diffstat (limited to 'src/utils/micro.ts')
| -rw-r--r-- | src/utils/micro.ts | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/src/utils/micro.ts b/src/utils/micro.ts deleted file mode 100644 index 7f06b41..0000000 --- a/src/utils/micro.ts +++ /dev/null @@ -1,40 +0,0 @@ -import type { CollectionEntry } from "astro:content"; - -export type MicroEntry = CollectionEntry<"micro">; - -export function sortMicroEntries(entries: MicroEntry[]): MicroEntry[] { - return entries.sort((a, b) => b.data.publishDate.getTime() - a.data.publishDate.getTime()); -} - -export async function getAllMicroPosts(): Promise<MicroEntry[]> { - const { getCollection } = await import("astro:content"); - - // Get only Pleroma micro posts - try { - const microPosts = await getCollection("micro"); - return sortMicroEntries(microPosts); - } catch (error) { - console.warn("Micro collection not available:", error); - return []; - } -} - -/** Extract all tags from micro posts */ -export function getAllMicroTags(entries: MicroEntry[]): string[] { - return entries.flatMap((entry) => entry.data.tags ?? []); -} - -/** Get unique tags from micro posts */ -export function getUniqueMicroTags(entries: MicroEntry[]): string[] { - return [...new Set(getAllMicroTags(entries))]; -} - -/** Get unique tags with counts from micro posts */ -export function getUniqueMicroTagsWithCount(entries: MicroEntry[]): [string, number][] { - return [ - ...getAllMicroTags(entries).reduce( - (acc, t) => acc.set(t, (acc.get(t) ?? 0) + 1), - new Map<string, number>(), - ), - ].sort((a, b) => b[1] - a[1]); -} |
