diff --git a/README.md b/README.md index e6a775aa..b4207db5 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ - GitHub activity + API: `/github` - Funkwhale activity + API: `/funkwhale` - Last.fm activity + API: `/lastfmapi` +- CV editor + API: `/cvapi` ## MongoDB @@ -77,6 +78,12 @@ - `LASTFM_USERNAME` - If these variables are missing, the endpoints still exist but return empty activity until credentials are configured. +## CV endpoint + +- The CV endpoint is mounted at `/cvapi` to avoid conflicting with the public `/cv/` page on the frontend. +- Public JSON endpoints are available at `/cvapi/data.json` and `/cvapi/page.json`. +- No extra env vars are required for the plugin itself (it uses MongoDB + IndieKit auth). + ## Startup script - `start.sh` is intentionally ignored by Git (`.gitignore`) so server secrets are not committed. diff --git a/indiekit.config.mjs b/indiekit.config.mjs index 9503f3d6..776af24e 100644 --- a/indiekit.config.mjs +++ b/indiekit.config.mjs @@ -125,6 +125,7 @@ export default { "@rmdes/indiekit-endpoint-conversations", "@rmdes/indiekit-endpoint-funkwhale", "@rmdes/indiekit-endpoint-lastfm", + "@rmdes/indiekit-endpoint-cv", //"@rmdes/indiekit-endpoint-activitypub", ], "@indiekit/store-github": { @@ -158,6 +159,9 @@ export default { apiKey: lastfmApiKey, username: lastfmUsername, }, + "@rmdes/indiekit-endpoint-cv": { + mountPath: "/cvapi", + }, "@rmdes/indiekit-endpoint-activitypub": { username: "blog.giersig.eu", }, diff --git a/package-lock.json b/package-lock.json index 8e36654e..d58e8082 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,6 +13,7 @@ "@indiekit/indiekit": "^1.0.0-beta.25", "@indiekit/store-github": "^1.0.0-beta.25", "@rmdes/indiekit-endpoint-conversations": "^2.1.6", + "@rmdes/indiekit-endpoint-cv": "^1.0.24", "@rmdes/indiekit-endpoint-funkwhale": "^1.0.11", "@rmdes/indiekit-endpoint-github": "^1.2.3", "@rmdes/indiekit-endpoint-lastfm": "^1.0.12", @@ -1786,6 +1787,23 @@ "node": ">=20" } }, + "node_modules/@rmdes/indiekit-endpoint-cv": { + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/@rmdes/indiekit-endpoint-cv/-/indiekit-endpoint-cv-1.0.24.tgz", + "integrity": "sha512-S6af420v6FYZspTMVr4yU6pjiyY+TszlcktMn3/Wpj4xW7vlFqGR/LC4RKhH0zRHI2A5koMVXVfl30bu1/POPw==", + "license": "MIT", + "dependencies": { + "@indiekit/error": "^1.0.0-beta.25", + "@indiekit/frontend": "^1.0.0-beta.25", + "express": "^5.0.0" + }, + "engines": { + "node": ">=20" + }, + "peerDependencies": { + "@indiekit/indiekit": ">=1.0.0-beta.25" + } + }, "node_modules/@rmdes/indiekit-endpoint-funkwhale": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@rmdes/indiekit-endpoint-funkwhale/-/indiekit-endpoint-funkwhale-1.0.11.tgz", @@ -5081,6 +5099,7 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -5590,7 +5609,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..994121f8 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "@indiekit/indiekit": "^1.0.0-beta.25", "@indiekit/store-github": "^1.0.0-beta.25", "@rmdes/indiekit-endpoint-conversations": "^2.1.6", + "@rmdes/indiekit-endpoint-cv": "^1.0.24", "@rmdes/indiekit-endpoint-funkwhale": "^1.0.11", "@rmdes/indiekit-endpoint-github": "^1.2.3", "@rmdes/indiekit-endpoint-lastfm": "^1.0.12",