rsshub
Version:
Make RSS Great Again!
39 lines (37 loc) • 1.51 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import { t as config } from "./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 "./cache-Bo__VnGm.mjs";
import { n as getNextBuildId, t as baseUrl } from "./utils-CY8xwAG5.mjs";
//#region lib/routes/makerworld/trending.ts
const route = {
path: "/trending",
categories: ["design"],
example: "/makerworld/trending",
name: "Trending Models",
maintainers: ["TonyRL"],
handler,
radar: [{ source: ["makerworld.com/:lang"] }]
};
async function handler() {
const items = (await ofetch_default(`${baseUrl}/_next/data/${await getNextBuildId()}/en.json`, { headers: { "User-Agent": config.trueUA } })).pageProps.popularDesignsData.map((d) => ({
title: d.title,
link: `${baseUrl}/en/models/${d.id}-${d.slug}`,
author: d.designCreator.name,
category: d.tags,
pubDate: parseDate(d.startTime),
description: d.designExtension.design_pictures.map((i) => `<figure><img src="${i.url}" alt="${d.name}"><figcaption>${i.name}</figcaption></figure>`).join("")
}));
return {
title: "Trending Models - MakerWorld",
description: "Leading 3D printing model community for designers and makers. Download thousands of 3D models and stl models for free, and your No.1 option for multicolor 3D models",
link: `${baseUrl}/en`,
image: `${baseUrl}/favicon_new.png`,
item: items
};
}
//#endregion
export { route };