UNPKG

rsshub

Version:
68 lines (66 loc) 2.17 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import { t as ViewType } from "./types-D84BRIt4.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import dayjs from "dayjs"; import { load } from "cheerio"; //#region lib/routes/yilinzazhi/latest.ts const route = { path: "/latest", categories: ["reading"], view: ViewType.Articles, example: "/yilinzazhi/latest", radar: [{ source: ["www.yilinzazhi.com"], target: "/" }], name: "近期文章汇总", maintainers: ["g0ngjie"], handler, url: "www.yilinzazhi.com", description: "最近一期的文章汇总" }; async function handler() { const baseUrl = "https://www.yilinzazhi.com/"; const $ = load((await got_default(baseUrl)).data); const currentYear = dayjs().year(); const stage = $($(".year-section").toArray().find((el) => $(el).find(".year-title").text().includes(currentYear + ""))).find("a").toArray().map((elem) => { const aTag = $(elem); return { link: baseUrl + aTag.attr("href"), title: aTag.text() }; })[0]; const contents = (await cache_default.tryGet(stage.link, async () => { const $$ = load((await got_default(stage.link)).data); return $$(".maglistbox dl").toArray().map((catalog) => { return { title: $$(catalog).find("dt span").text(), tables: $$(catalog).find("a").toArray().map((aTag) => { const href = $$(aTag).attr("href"); const yearType = currentYear + href.slice(4, 5); return { title: $$(aTag).text(), link: `${baseUrl}${currentYear}/yl${yearType}/${href}` }; }) }; }); })).flatMap((catalog) => catalog.tables); const items = await Promise.all(contents.map(async (target) => await cache_default.tryGet(target.link, async () => { target.description = load((await got_default(target.link)).data)(".blkContainerSblk.collectionContainer").html(); return target; }))); return { title: "意林 - 近期文章汇总", link: stage.link, item: items }; } //#endregion export { route };