UNPKG

rsshub

Version:
54 lines (52 loc) 1.68 kB
import "./dist-Bog6z_OM.mjs"; import "./config-MQ-7ebJ_.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 { load } from "cheerio"; import sanitizeHtml from "sanitize-html"; //#region lib/routes/gitkraken/release-note.ts const route = { path: "/release-note", categories: ["program-update"], example: "/gitkraken/release-note", features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, radar: [{ source: ["help.gitkraken.com/gitkraken-desktop/current/"] }, { source: ["www.gitkraken.com/"] }], name: "Release Notes", maintainers: ["TonyRL"], url: "help.gitkraken.com/gitkraken-desktop/current/", handler }; async function handler() { const baseUrl = "https://help.gitkraken.com"; const link = `${baseUrl}/gitkraken-desktop/current/`; const response = await ofetch_default(`${baseUrl}/wp-json/wp/v2/posts/1964`); const $ = load(response.content.rendered, null, false); const items = $("h2").toArray().map((item) => { const $item = $(item); return { title: $item.text(), description: $item.next().nextUntil("hr").toArray().map((el) => $.html(el)).join(""), link: `${link}#${$item.prev().find("a[id]").attr("id")}`, pubDate: parseDate($item.next().find("kbd").text()?.split("day, ")[1].trim(), "MMMM Do, YYYY", "en") }; }); return { title: response.title.rendered, description: sanitizeHtml(response.excerpt.rendered, { allowedTags: [], allowedAttributes: {} }), link, item: items }; } //#endregion export { route };