UNPKG

rsshub

Version:
49 lines (48 loc) 1.51 kB
import { t as rofetch } from "./ofetch-U0CdpE2g.mjs"; import { t as parseDate } from "./parse-date-3kcy2Eau.mjs"; import { t as cache_default } from "./cache-C1Y-9qDV.mjs"; import { load } from "cheerio"; //#region lib/routes/iracing/news.ts const route = { path: "/news", categories: ["game"], example: "/iracing/news", features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["www.iracing.com/category/news/sim-racing-news"], target: "/news" }], name: "News", maintainers: ["canonnizq"], handler: async () => { const url = "https://www.iracing.com/category/news/sim-racing-news/"; const response = await rofetch(url); const $ = load(response); const links = $("#page .clearfix h2 a").toArray().map((item) => $(item).attr("href")); return { title: "iRacing News", link: url, item: await Promise.all(links.map((link) => cache_default.tryGet(link, async () => { const response = await rofetch(link); const $ = load(response); return { title: $("h1 a").text(), link, author: $(".page-header a[rel=\"author\"]").text(), pubDate: parseDate($(".page-header small").text().trim().split(" by", 1)[0], "MMMM D, YYYY"), itunes_item_image: $("#page img").first().attr("src"), content: { html: $("#page > div > p").toArray().map((x) => $(x).prop("outerHTML")).join("") } }; }))) }; } }; //#endregion export { route };