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