UNPKG

rsshub

Version:
57 lines (55 loc) 1.6 kB
import "./dist-Bog6z_OM.mjs"; import "./config-MQ-7ebJ_.mjs"; import { t as ViewType } from "./types-gOySfSXJ.mjs"; import "./logger-C4avouvV.mjs"; import { t as ofetch_default } from "./ofetch-DKl_Ma9g.mjs"; import { t as parseDate } from "./parse-date-r5WDWHno.mjs"; import "./is-worker-DESPicPc.mjs"; import { t as cache_default } from "./cache-SV6W5EPy.mjs"; import * as cheerio from "cheerio"; //#region lib/routes/telegram/blog.ts const route = { path: "/blog", categories: ["social-media"], view: ViewType.Articles, example: "/telegram/blog", parameters: {}, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["telegram.org/blog"] }], name: "Telegram Blog", maintainers: ["fengkx"], handler, url: "telegram.org/blog" }; async function handler() { const link = "https://telegram.org/blog"; const res = await ofetch_default(link); const $$ = cheerio.load(res); const items = await Promise.all($$(".dev_blog_card_link_wrap").toArray().map((each) => { const link = "https://telegram.org" + $$(each).attr("href"); return cache_default.tryGet(link, async () => { const result = await ofetch_default(link); const $ = cheerio.load(result); return { title: $("#dev_page_title").text(), link, pubDate: parseDate($("[property=\"article:published_time\"]").attr("content")), description: $("#dev_page_content_wrap").html() }; }); })); return { title: $$("title").text(), link, item: items }; } //#endregion export { route };