rsshub
Version:
Make RSS Great Again!
46 lines (44 loc) • 1.33 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import "./helpers-DxBp0Pty.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
//#region lib/routes/runtrail/posts.ts
const route = {
path: "/",
radar: [{
source: ["runtrail.cn/"],
target: ""
}],
name: "Unknown",
maintainers: ["TonyRL"],
handler,
url: "runtrail.cn/"
};
async function handler(ctx) {
const baseUrl = "https://runtrail.cn";
const { data: response } = await got_default(`${baseUrl}/wp-json/wp/v2/posts`, { searchParams: {
_embed: true,
per_page: ctx.req.query("limit") ? Number.parseInt(ctx.req.query("limit")) : 30
} });
let data = response;
if (typeof response !== "object") data = JSON.parse(response.match(/\[(.*)]/)[0]);
return {
title: "最新文章 - 跑野大爆炸",
link: baseUrl,
item: data.map((item) => ({
title: item.title.rendered,
description: item.content.rendered,
pubDate: parseDate(item.date_gmt),
updated: parseDate(item.modified_gmt),
author: item._embedded.author.map((a) => a.name).join(", "),
category: item._embedded["wp:term"][0].map((c) => c.name),
link: item.link
}))
};
}
//#endregion
export { route };