rsshub
Version:
Make RSS Great Again!
42 lines (41 loc) • 1.45 kB
JavaScript
import { t as parseDate } from "./parse-date-3kcy2Eau.mjs";
import { t as got_default } from "./got-DUpa1V3-.mjs";
import { load } from "cheerio";
//#region lib/routes/baobua/article.ts
const loadArticle = async (link) => {
const resp = await got_default(link);
const article = load(resp.body);
const title = article("title").text().replace("BaoBua.Com:", "").replace(/\| Page \d+\/\d+/, "").trim();
const totalPagesMatch = /Page \d+\/(\d+)/.exec(article("title").text());
const totalPages = totalPagesMatch ? Number.parseInt(totalPagesMatch[1]) : 1;
let pubDate;
const blogPostingScript = article("script:contains(\"BlogPosting\")").first();
if (blogPostingScript) {
const jsonData = JSON.parse(blogPostingScript.text());
pubDate = parseDate(jsonData.datePublished);
}
let description = article(".contentme2").html() ?? "";
if (totalPages > 1) {
const additionalContents = await Promise.all(Array.from({ length: totalPages - 1 }, async (_, i) => {
try {
const response = await got_default(`${link}?page=${i + 2}`);
return load(response.body)(".contentme2").html() ?? "";
} catch {
return "";
}
}));
description += additionalContents.join("");
}
return {
title,
description,
pubDate,
link
};
};
//#endregion
//#region lib/routes/baobua/const.ts
const SUB_NAME_PREFIX = "BaoBua";
const SUB_URL = "https://baobua.com/";
//#endregion
export { SUB_URL as n, loadArticle as r, SUB_NAME_PREFIX as t };