UNPKG

rsshub

Version:
84 lines (83 loc) 2.73 kB
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs"; import "./types-DNj6Etbg.mjs"; import { t as parseDate } from "./parse-date-CjhZE69i.mjs"; import { t as renderDescription } from "./description-B-3uLW1k.mjs"; //#region lib/routes/kpopping/community.ts const handler = async (ctx) => { const filter = ctx.req.param("filter"); const params = new URLSearchParams(filter); const apiUrl = new URL("https://kpopping.com/api/articles"); apiUrl.search = params.toString(); return { title: "Community - kpopping", link: "https://kpopping.com/community", item: ((await rofetch(apiUrl.href)).articles || []).map((item) => { const title = item.title; const description = renderDescription({ images: item.coverImage ? [{ src: item.coverImage, alt: title }] : void 0, description: item.excerpt }); const link = `https://kpopping.com/community/${item.slug}`; const dateStr = item.publishedAt ?? item.createdAt; return { title, description, link, pubDate: dateStr ? parseDate(dateStr) : void 0, category: item.category, author: item.authorName, content: { html: description, text: description }, image: item.coverImage, banner: item.coverImage }; }), language: "en" }; }; const route = { path: "/community/:filter{.+}?", name: "Community", url: "kpopping.com", maintainers: ["nczitzk", "pinapelz"], handler, example: "/kpopping/community/category=news&idolId=7d8f48d4-97c4-4164-9f04-11febc9c8ac1", parameters: { filter: "Filter parameters in `key=value&key2=value2` format. Supported keys: `category`, `gender`, `sort`, `entityType`, `idolId`, `groupId`" }, description: `::: tip Query community posts using filter parameters found on kpopping such as \`idolId\`, \`groupId\`, \`gender\`, \`category\`, \`sort\`, etc. :::`, categories: ["new-media"], features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportRadar: true, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["kpopping.com/community"], target: "/community" }], view: 0, zh: { path: "/community/:filter{.+}?", name: "Community", url: "kpopping.com", maintainers: ["nczitzk", "pinapelz"], handler, example: "/kpopping/community/category=news&idolId=7d8f48d4-97c4-4164-9f04-11febc9c8ac1", parameters: { filter: "以 `key=value&key2=value2` 格式传递的过滤参数。支持的 key 包括 `category`、`gender`、`sort`、`entityType`、`idolId`、`groupId`" }, description: `::: tip 支持通过 \`idolId\`、\`groupId\`、\`gender\`、\`category\`、\`sort\` 等过滤条件获取新闻与社区帖子。 :::` } }; //#endregion export { handler, route };