UNPKG

rsshub

Version:
68 lines (66 loc) 2.35 kB
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as art } from "./render-BQo6B4tL.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { t as invalid_parameter_default } from "./invalid-parameter-rr4AgGpp.mjs"; import path from "node:path"; import { load } from "cheerio"; //#region lib/routes/comicskingdom/index.ts init_esm_shims(); const route = { path: "/:name", categories: ["anime"], example: "/comicskingdom/pardon-my-planet", parameters: { name: "URL path of the strip on comicskingdom.com" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["comicskingdom.com/:name/*", "comicskingdom.com/:name"] }], name: "Archive", maintainers: ["stjohnjohnson"], handler }; async function handler(ctx) { const baseURL = "https://comicskingdom.com"; const name = ctx.req.param("name"); const url = `${baseURL}/${name}/archive`; const { data } = await got_default(url); const $ = load(data); const comic = $("title").text().replace("Comics Kingdom - ", "").trim(); const author = $(".feature-title h2").text(); const links = $("div.tile").toArray().map((el) => $(el).find("a").first().attr("href")); if (links.length === 0) throw new invalid_parameter_default(`Comic Not Found - ${name}`); const items = await Promise.all(links.map((link) => cache_default.tryGet(link, async () => { const content = load((await got_default(link)).data); const title = content("meta[property=\"og:description\"]").attr("content"); const image = content("meta[property=\"og:image\"]").attr("content"); return { title, author, category: "comic", description: art(path.join(__dirname, "templates/desc-158d364d.art"), { image }), pubDate: parseDate(link.slice(link.lastIndexOf("/") + 1), "YYYY-MM-DD"), link }; }))); return { title: comic, link: url, image: $(".feature-logo").attr("src"), item: items, language: "en-US" }; } //#endregion export { route };