UNPKG

rsshub

Version:
60 lines (58 loc) 1.74 kB
import "./dist-Bog6z_OM.mjs"; import "./config-MQ-7ebJ_.mjs"; import { t as ViewType } from "./types-gOySfSXJ.mjs"; import "./logger-C4avouvV.mjs"; import { t as ofetch_default } from "./ofetch-DKl_Ma9g.mjs"; import "./parse-date-r5WDWHno.mjs"; import "./is-worker-DESPicPc.mjs"; import "./cache-SV6W5EPy.mjs"; import "./description-CEa-amEm.mjs"; import { r as baseUrl, t as ProcessFeedItems } from "./util-lbgbrCfj.mjs"; import { load } from "cheerio"; //#region lib/routes/dgtle/feed.ts const handler = async (ctx) => { const limit = Number.parseInt(ctx.req.query("limit") ?? "30", 10); const targetUrl = new URL("feed", baseUrl).href; const apiUrl = new URL("feed/getHotDynamic", baseUrl).href; const response = await ofetch_default(apiUrl, { query: { last_id: 0 } }); const $ = load(await ofetch_default(targetUrl)); const language = $("html").attr("lang") ?? "zh-CN"; const items = ProcessFeedItems(limit, response.data.dataList, $); return { title: $("title").text(), description: $("meta[name=\"description\"]").attr("content"), link: targetUrl, item: items, allowEmpty: true, author: $("meta[name=\"keywords\"]").attr("content")?.split(/,/)[0] ?? void 0, language, id: targetUrl }; }; const route = { path: "/feed", name: "兴趣", url: "www.dgtle.com", maintainers: ["nczitzk"], handler, example: "/dgtle/feed", parameters: void 0, description: void 0, categories: ["new-media"], features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportRadar: true, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["www.dgtle.com/feed"], target: "/feed" }], view: ViewType.Articles }; //#endregion export { handler, route };