summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Carstairs <me@joeac.net>2026-03-24 22:06:32 +0000
committerJoe Carstairs <me@joeac.net>2026-03-24 22:06:32 +0000
commit4b720b8dd74bbdf02de67733e2cc8952105e82ec (patch)
treefb7051bd33268d9d5069bfc133300275647e5f74
parent46bc365021915874e12d667954c4bde72f7847f2 (diff)
port gemlog to blog
-rw-r--r--website/src/content.config.ts37
l---------website/src/content/blog/gemlog1
-rw-r--r--website/src/pages/blog/[...slug].astro2
3 files changed, 37 insertions, 3 deletions
diff --git a/website/src/content.config.ts b/website/src/content.config.ts
index 133e56c..717b2f0 100644
--- a/website/src/content.config.ts
+++ b/website/src/content.config.ts
@@ -1,11 +1,44 @@
-import { glob } from "astro/loaders";
import { defineCollection } from "astro:content";
import { z } from "astro/zod";
+import { extendedGlob } from "./loaders/extended-glob";
+
const blog = defineCollection({
- loader: glob({
+ loader: extendedGlob({
pattern: "**/*.(md|mdx|gmi|html)",
base: "./src/content/blog",
+ postprocessSlug: (slug: string) => slug.replaceAll(/^gemlog\//g, ""),
+ ignore: [
+ "gemlog/index.gmi",
+ /* Some blog posts were ported to gemtext. Don't port them back again:
+ * that would lead to duplicates! The originals are likely to be better
+ * anyway, as MD/MDX are richer languages. */
+ "**/2024-01-14.gmi",
+ "**/2024-01-29.gmi",
+ "**/2024-03-30.gmi",
+ "**/2024-04-10.gmi",
+ "**/2024-04-11.gmi",
+ "**/2024-04-14.gmi",
+ "**/2024-05-02.gmi",
+ "**/2024-06-13.gmi",
+ "**/2024-07-08.gmi",
+ "**/2024-07-16.gmi",
+ "**/2024-12-17.gmi",
+ "**/2025-01-19.gmi",
+ "**/2025-01-24.gmi",
+ "**/2025-01-28.gmi",
+ "**/2025-05-02.gmi",
+ "**/2025-05-04.gmi",
+ "**/2025-06-23.gmi",
+ "**/2025-07-03.gmi",
+ "**/2025-09-18.gmi",
+ "**/2025-09-24.gmi",
+ "**/2025-10-05.gmi",
+ "**/2025-10-09.gmi",
+ "**/2025-12-11.gmi",
+ "**/2026-02-16.gmi",
+ "**/2026-03-04.gmi",
+ ],
}),
schema: z.object({
title: z.string(),
diff --git a/website/src/content/blog/gemlog b/website/src/content/blog/gemlog
new file mode 120000
index 0000000..61e38eb
--- /dev/null
+++ b/website/src/content/blog/gemlog
@@ -0,0 +1 @@
+../../../../capsule/content/gemlog/ \ No newline at end of file
diff --git a/website/src/pages/blog/[...slug].astro b/website/src/pages/blog/[...slug].astro
index f5d9763..a4168b6 100644
--- a/website/src/pages/blog/[...slug].astro
+++ b/website/src/pages/blog/[...slug].astro
@@ -49,7 +49,7 @@ const GemtextHTMLRenderer: Gemtext.Renderer<string> = {
const post = Astro.props;
const Content = post.filePath?.endsWith('.gmi')
- ? Gemtext.parse(post.body ?? '').generate(GemtextHTMLRenderer)
+ ? Gemtext.parse((post.body ?? '').replace(`# ${post.data.title}`, '')).generate(GemtextHTMLRenderer)
: (await render(post)).Content;
---