rsshub
Version:
Make RSS Great Again!
55 lines (53 loc) • 1.6 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import { load } from "cheerio";
//#region lib/routes/syosetu/dev.ts
const route = {
path: "/dev",
categories: ["program-update"],
example: "/syosetu/dev",
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
name: "なろう小説 API の更新履歴",
url: "dev.syosetu.com",
maintainers: ["SnowAgar25"],
handler,
radar: [{
title: "なろう小説 API の更新履歴",
source: ["dev.syosetu.com"],
target: "/dev"
}]
};
async function handler() {
const url = "https://dev.syosetu.com";
const $ = load(await ofetch_default(url));
const logContainer = $(".c-log");
const dates = logContainer.find("dt").toArray().map((element) => $(element).text().trim());
const contents = logContainer.find("dd").toArray().map((element) => $(element).text().trim());
return {
title: "なろうデベロッパー - なろう小説 API の更新履歴",
link: url,
language: "ja",
item: dates.map((date, index) => ({
date,
content: contents[index]?.replaceAll("\n", "<br>") ?? ""
})).filter((update) => update.content).map((update) => ({
title: update.date,
description: update.content,
pubDate: parseDate(update.date.replace("/", "-")),
guid: `syosetu:dev:${update.date}`
}))
};
}
//#endregion
export { route };