rsshub
Version:
Make RSS Great Again!
24 lines (22 loc) • 1.3 kB
JavaScript
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
import { t as timezone } from "./timezone-D8cuwzTY.mjs";
import { load } from "cheerio";
//#region lib/routes/aisixiang/utils.ts
const ossUrl = "https://oss.aisixiang.com";
const rootUrl = "https://www.aisixiang.com";
const ProcessFeed = (limit, tryGet, items) => Promise.all(items.slice(0, limit).map((item) => tryGet(item.link, async () => {
const { data: detailResponse } = await got_default(item.link);
const content = load(detailResponse);
const commentMatches = content("h3.comment-header").text().match(/评论(\d+)/);
item.title = content("h3").first().text().split(":").pop();
item.description = content("div.article-content").html();
item.author = content("div.about strong").first().text();
item.category = content("u").first().parent().find("u").toArray().map((c) => content(c).text());
item.pubDate = timezone(parseDate(content("div.info").text().split("时间:").pop()), 8);
item.upvotes = content("span.like-num").text() ? Number.parseInt(content("span.like-num").text(), 10) : 0;
item.comments = commentMatches ? Number.parseInt(commentMatches[1], 10) : 0;
return item;
})));
//#endregion
export { ossUrl as n, rootUrl as r, ProcessFeed as t };