rsshub
Version:
Make RSS Great Again!
28 lines (27 loc) • 1.1 kB
JavaScript
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
import { t as got_default } from "./got-BTowW50G.mjs";
import { t as timezone } from "./timezone-BBvDwS_3.mjs";
import { load } from "cheerio";
//#region lib/routes/indienova/utils.ts
const baseUrl = "https://indienova.com";
const parseList = ($) => $(".article-panel").toArray().map((item) => {
const $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 };