UNPKG

rsshub

Version:
72 lines (70 loc) 2.27 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import { load } from "cheerio"; //#region lib/routes/sketis/isabelle-dev/blog/index.ts const source = [ "isabelle-dev.sketis.net/phame/", "isabelle-dev.sketis.net/phame/blog/", "isabelle-dev.sketis.net/phame/blog/view/:blog/", "isabelle-dev.sketis.net/phame/post/", "isabelle-dev.sketis.net/phame/post/view/:post_id/:post_title/" ]; const route = { path: "/isabelle-dev/blog/:blog", categories: ["programming"], example: "/sketis/isabelle-dev/blog/1", parameters: { blog: "name of blog (1 for NEWS; 2 for Release)" }, description: ` - Isabelle News: \`https://isabelle-dev.sketis.net/phame/blog/view/1/\` - Isabelle Release: \`https://isabelle-dev.sketis.net/phame/blog/view/2/\` `, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source, target: "/isabelle-dev/blog/1" }, { source, target: "/isabelle-dev/blog/2" }], name: "Isabelle Development Blogs", url: "isabelle-dev.sketis.net", maintainers: ["Ritsuka314"], handler: async (ctx) => { const baseUrl = "https://isabelle-dev.sketis.net"; const { blog } = ctx.req.param(); const blogName = blog === "1" ? "News" : blog === "2" ? "Release" : "UNKNOWN"; const url = `${baseUrl}/phame/blog/view/${blog}/`; const $ = load(await ofetch_default(url)); const items = $(".phui-document-summary-view").toArray().map((item_) => { const item = $(item_); const title = item.find(".remarkup-header").first(); const subtitle = item.find(".phui-document-summary-subtitle").first(); const date = subtitle.find("strong").first()[0].nextSibling.data.slice(4); return { title: title.text(), link: `${baseUrl}${title.find("a").attr("href")}`, description: item.find(".phui-document-summary-body").html(), pubDate: parseDate(date), author: subtitle.find("strong").text() }; }); return { title: `Isabelle ${blogName}`, link: url, item: items }; } }; //#endregion export { route };