rsshub
Version:
Make RSS Great Again!
48 lines (46 loc) • 1.29 kB
JavaScript
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 };