UNPKG

rsshub

Version:
48 lines (46 loc) 1.29 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import "./config-not-found-Dyp3RlZZ.mjs"; import { t as rss_parser_default } from "./rss-parser-Dtop7M8f.mjs"; import { t as getConfig } from "./utils-C2vcgI5d.mjs"; //#region lib/routes/discourse/posts.ts const route = { path: "/:configId/posts", categories: ["bbs"], example: "/discourse/0/posts", parameters: { configId: "Environment variable configuration id, see above" }, features: { requireConfig: [{ name: "DISCOURSE_CONFIG_*", description: "" }], requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, name: "Latest posts", maintainers: ["dzx-dzx"], handler }; async function handler(ctx) { const { link, key } = getConfig(ctx); const feed = await rss_parser_default.parseString((await got_default(`${link}/posts.rss`, { headers: { "User-Api-Key": key } })).data); feed.items = feed.items.map((e) => ({ description: e.content, author: e.creator, ...e })); return { item: feed.items, ...feed }; } //#endregion export { route };