rsshub
Version:
Make RSS Great Again!
57 lines (55 loc) • 1.6 kB
JavaScript
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 };