rsshub
Version:
Make RSS Great Again!
29 lines (27 loc) • 1.09 kB
JavaScript
import { t as parseDate } from "./parse-date-r5WDWHno.mjs";
import { t as got_default } from "./got-CO-ndVl2.mjs";
import { t as timezone } from "./timezone-CA9Huotp.mjs";
import { load } from "cheerio";
//#region lib/routes/indienova/utils.ts
const baseUrl = "https://indienova.com";
const parseList = ($) => $(".article-panel").toArray().map((item) => {
item = $(item);
const a = item.find("h4 a");
return {
title: a.text(),
link: new URL(a.attr("href"), baseUrl).href,
upvotes: item.find(".number-first").text(),
comments: item.find(".number-last").text()
};
});
const parseItem = async (item) => {
const { data: response } = await got_default(item.link);
const $ = load(response);
item.description = $(".single-post").html();
item.author = $(".header-info > a").text();
const pubDate = $(".header-info").contents().filter((_, el) => el.nodeType === 3).text().trim().match(/(\d{4}-\d{2}-\d{2})/)?.[0];
item.pubDate = pubDate ? timezone(parseDate(pubDate, "YYYY-MM-DD"), 8) : null;
return item;
};
//#endregion
export { parseItem as n, parseList as r, baseUrl as t };