UNPKG

rsshub

Version:
52 lines (50 loc) 1.84 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 "./helpers-DxBp0Pty.mjs"; import { t as art } from "./render-BQo6B4tL.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import path from "node:path"; import { load } from "cheerio"; //#region lib/routes/techcrunch/category.ts init_esm_shims(); const host = "https://techcrunch.com"; const route = { path: "/category/:categoryId", categories: ["new-media"], example: "/techcrunch/category/577047203", parameters: { categoryId: "分类id" }, name: "Category", maintainers: ["MilliumOrion"], handler, description: `Use the category ID to retrieve a list of articles, category ID. From the page source of \`https://techcrunch.com/category/***\`, locate the \`{category_id}\` Example: \`html\` -> \`head\` -> \`<link rel="alternate" title="JSON" type="application/json" href="https://techcrunch.com/wp-json/wp/v2/categories/{category_id}">\`` }; async function handler(ctx) { const { data } = await got_default(`${host}/wp-json/wp/v2/posts?categories=${ctx.req.param("categoryId")}`); return { title: "TechCrunch", link: host, description: "Reporting on the business of technology, startups, venture capital funding, and Silicon Valley.", item: data.map((item) => { const head = item.yoast_head_json; const $ = load(item.content.rendered, null, false); return { title: item.title.rendered, description: art(path.join(__dirname, "templates/description-31a2e1da.art"), { head, rendered: $.html() }), link: item.link, pubDate: parseDate(item.date_gmt) }; }) }; } //#endregion export { route };