From 867a982fa6e449313aa96d34f3c6a5d78603db2a Mon Sep 17 00:00:00 2001 From: svemagie <869694+svemagie@users.noreply.github.com> Date: Sun, 8 Mar 2026 07:39:59 +0100 Subject: [PATCH] Enable dedicated repost post type in admin --- README.md | 2 +- indiekit.config.mjs | 11 +++++++++++ package-lock.json | 14 +++++++++++++- package.json | 1 + 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e6a775aa..555a1fb3 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ - `content/replies/{slug}.md` - `content/pages/{slug}.md` - If these paths do not match the content repo structure, edit/delete actions can fail with GitHub `Not Found`. -- Reposts are handled as property-based posts (`repostOf` / `repost_of`) and rendered through the `reposts` collection in the Eleventy theme. +- Reposts are configured as a dedicated post type (`repost`) and stored at `content/reposts/{slug}.md`. ## Post URLs diff --git a/indiekit.config.mjs b/indiekit.config.mjs index 9503f3d6..bcdd3633 100644 --- a/indiekit.config.mjs +++ b/indiekit.config.mjs @@ -88,6 +88,13 @@ export default { url: `${publicationBaseUrl}/likes/{slug}/`, }, }, + repost: { + name: "Repost", + post: { + path: "content/reposts/{slug}.md", + url: `${publicationBaseUrl}/reposts/{slug}/`, + }, + }, photo: { name: "Foto", post: { @@ -118,6 +125,7 @@ export default { plugins: [ "@indiekit/store-github", + "@indiekit/post-type-repost", "@rmdes/indiekit-post-type-page", "@rmdes/indiekit-preset-eleventy", "@rmdes/indiekit-endpoint-github", @@ -136,6 +144,9 @@ export default { "@indiekit/endpoint-posts": { mountPath: "/posts", }, + "@indiekit/post-type-repost": { + name: "Repost", + }, "@rmdes/indiekit-endpoint-github": { token: githubActivityToken, username: githubUsername, diff --git a/package-lock.json b/package-lock.json index 8e36654e..59e45bfa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,6 +11,7 @@ "license": "ISC", "dependencies": { "@indiekit/indiekit": "^1.0.0-beta.25", + "@indiekit/post-type-repost": "^1.0.0-beta.25", "@indiekit/store-github": "^1.0.0-beta.25", "@rmdes/indiekit-endpoint-conversations": "^2.1.6", "@rmdes/indiekit-endpoint-funkwhale": "^1.0.11", @@ -1275,6 +1276,18 @@ "node": ">=20" } }, + "node_modules/@indiekit/post-type-repost": { + "version": "1.0.0-beta.25", + "resolved": "https://registry.npmjs.org/@indiekit/post-type-repost/-/post-type-repost-1.0.0-beta.25.tgz", + "integrity": "sha512-42MH/4WKr8REfVRFAR8zPvVpu6V3YXzWBgFFoBtqjuUsQvne8XAXzCp6B8E1OiVREXfZIinIPEPRz3gkQvAp5g==", + "license": "MIT", + "dependencies": { + "@indiekit/util": "^1.0.0-beta.25" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/@indiekit/preset-jekyll": { "version": "1.0.0-beta.25", "resolved": "https://registry.npmjs.org/@indiekit/preset-jekyll/-/preset-jekyll-1.0.0-beta.25.tgz", @@ -5590,7 +5603,6 @@ "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", "license": "MIT", - "peer": true, "dependencies": { "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" diff --git a/package.json b/package.json index 75e341df..0ba6c22f 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ }, "dependencies": { "@indiekit/indiekit": "^1.0.0-beta.25", + "@indiekit/post-type-repost": "^1.0.0-beta.25", "@indiekit/store-github": "^1.0.0-beta.25", "@rmdes/indiekit-endpoint-conversations": "^2.1.6", "@rmdes/indiekit-endpoint-funkwhale": "^1.0.11",