rsshub
Version:
Make RSS Great Again!
38 lines (37 loc) • 1.29 kB
JavaScript
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs";
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
import { t as timezone } from "./timezone-DE--ze1V.mjs";
import { load } from "cheerio";
//#region lib/routes/hatelabo/anonymous-diary/archive.ts
const route = {
path: "/anonymous_diary/archive",
categories: ["other"],
example: "/hatelabo/anonymous_diary/archive",
name: "はてな匿名ダイアリー - 人気記事アーカイブ",
maintainers: ["yuanji-dev"],
handler
};
const baseURL = "https://anond.hatelabo.jp";
async function handler() {
const archiveIndex = await rofetch(`${baseURL}/archive`);
const latestURL = new URL(load(archiveIndex)(".archives a").attr("href"), baseURL).href;
const $ = load(await rofetch(latestURL));
return {
title: "はてな匿名ダイアリー - 人気記事アーカイブ",
link: `${baseURL}/archive`,
language: "ja",
item: $(".archives li").toArray().map((item) => {
const $item = $(item);
const a = $item.find("a").first();
const href = a.attr("href");
return {
title: a.text(),
description: $item.find("blockquote p").text(),
link: new URL(href, baseURL).href,
pubDate: timezone(parseDate(href.replace("/", ""), "YYYYMMDDHHmmss"), 9)
};
})
};
}
//#endregion
export { route };