rsshub
Version:
Make RSS Great Again!
45 lines (43 loc) • 1.29 kB
JavaScript
import "./dist-Bog6z_OM.mjs";
import "./config-MQ-7ebJ_.mjs";
import "./logger-C4avouvV.mjs";
import "./ofetch-DKl_Ma9g.mjs";
import { t as parseDate } from "./parse-date-r5WDWHno.mjs";
import "./helpers-Bo4JQYdN.mjs";
import { t as got_default } from "./got-CO-ndVl2.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 };