rsshub
Version:
Make RSS Great Again!
39 lines (37 loc) • 1.51 kB
JavaScript
import "./dist-Bog6z_OM.mjs";
import { t as config } from "./config-MQ-7ebJ_.mjs";
import "./logger-C4avouvV.mjs";
import { t as ofetch_default } from "./ofetch-DKl_Ma9g.mjs";
import { t as parseDate } from "./parse-date-r5WDWHno.mjs";
import "./is-worker-DESPicPc.mjs";
import "./cache-SV6W5EPy.mjs";
import { n as getNextBuildId, t as baseUrl } from "./utils-DgQFs0_m.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 };