rsshub
Version:
Make RSS Great Again!
31 lines (30 loc) • 1.27 kB
JavaScript
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
import { n as fetchJson, r as getNextBuildId, t as baseUrl } from "./utils-B5WzD6Oc.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 fetchJson(`${baseUrl}/_next/data/${await getNextBuildId()}/en.json`)).pageProps.v2Props.foryouData.hits.filter((hit) => hit.design?.title).map(({ design: d }) => ({
title: d.title,
link: `${baseUrl}/en/models/${d.id}-${d.slug}`,
author: d.designCreator.name,
pubDate: parseDate(d.createTime),
description: d.designExtension.design_pictures.map((i) => `<figure><img src="${i.url}" alt="${d.title}"><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 };