summaryrefslogtreecommitdiff
path: root/src/utils/micro.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils/micro.ts')
-rw-r--r--src/utils/micro.ts40
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]);
-}