rsshub
Version:
Make RSS Great Again!
55 lines (53 loc) • 1.48 kB
JavaScript
import "./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 got_default } from "./got-KxxWdaxq.mjs";
import { load } from "cheerio";
//#region lib/routes/cmu/andypavlo/blog.ts
async function getArticles() {
const { data: res } = await got_default("https://www.cs.cmu.edu/~pavlo/blog/index.html");
const $ = load(res);
return $(".row.mb-3").toArray().map((element) => {
const $item = $(element);
const $title = $item.find("h4 a");
const $date = $item.find(".text-muted");
const $description = $item.find("p");
return {
title: $title.text().trim(),
link: $title.attr("href"),
description: $description.text().trim(),
pubDate: parseDate($date.attr("title")),
guid: $title.attr("href")
};
});
}
const route = {
path: "/andypavlo/blog",
categories: ["blog"],
example: "/cmu/andypavlo/blog",
parameters: {},
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
name: "Andy Pavlo Blog",
maintainers: ["mocusez"],
handler
};
async function handler() {
return {
title: "Andy Pavlo - Carnegie Mellon University",
link: "https://www.cs.cmu.edu/~pavlo/blog/index.html",
item: await getArticles()
};
}
//#endregion
export { route };