rsshub
Version:
Make RSS Great Again!
38 lines (36 loc) • 2.28 kB
JavaScript
import { n as init_esm_shims, t as __dirname } from "./esm-shims-CzJ_djXG.mjs";
import { t as art } from "./render-BQo6B4tL.mjs";
import { t as got_default } from "./got-KxxWdaxq.mjs";
import path from "node:path";
//#region lib/routes/meteor/utils.ts
init_esm_shims();
const baseUrl = "https://meteor.today";
const getBoards = (tryGet) => tryGet("meteor:boards", async () => {
const { data: response } = await got_default.post(`${baseUrl}/board/get_boards`, { json: { isCollege: "false" } });
return JSON.parse(decodeURIComponent(response.result)).map((item) => ({
title: `${item.category ? `${item.category} - ` : ""}${item.name}`,
description: item.id,
feedDescription: item.description,
category: item.articleCategory,
link: `${baseUrl}/board/${item.alias ?? item.name}`,
alias: item.alias,
imgUrl: item.imageUrl,
id: item.id
}));
});
const renderDesc = (desc) => {
const youTube = /(?:https?:\/\/)?(?:www\.)?youtu\.?be(?:\.com)?\/?.*(?:watch|embed)?(?:.*v=|v\/|\/)([\w-]+)&?/g;
const matchYouTube = desc.match(youTube);
const matchImgur = desc.match(/https:\/\/i.imgur.com\/\w*.(jpg|png|gif|jpeg)/g);
const matchVideo = desc.match(/(https:\/\/storage\.meteor\.today\/video\/[\da-f]{24}\.)(mp4|mov|avi|flv|wmv|mpeg|mkv)/gi);
const matchSticker = desc.match(/assets\/images\/stickers\/(duck|ep2|ep1)\/\w*.(jpg|png|gif|jpeg)/g);
const matchEmoji = desc.match(/assets\/images\/emoji\/\w*.(jpg|png|gif|jpeg)/g);
if (matchYouTube) desc = desc.replaceAll(youTube, art(path.join(__dirname, "templates/desc-6ecf5eff.art"), { youTube: "$1" }));
if (matchImgur) for (const img of matchImgur) desc = desc.replace(img, art(path.join(__dirname, "templates/desc-6ecf5eff.art"), { img }));
if (matchVideo) for (const video of matchVideo) desc = desc.replace(video, art(path.join(__dirname, "templates/desc-6ecf5eff.art"), { video }));
if (matchSticker) for (const sticker of matchSticker) desc = desc.replace(sticker, art(path.join(__dirname, "templates/desc-6ecf5eff.art"), { img: sticker }));
if (matchEmoji) for (const emoji of matchEmoji) desc = desc.replace(emoji, art(path.join(__dirname, "templates/desc-6ecf5eff.art"), { img: emoji }));
return desc.replaceAll("\n", "<br>");
};
//#endregion
export { getBoards as n, renderDesc as r, baseUrl as t };