From ca82a0b2d6bbf6526a9bb115efc8eea05e187c56 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Sat, 9 Mar 2024 17:53:08 +0800 Subject: [PATCH] fix: rending docs route component --- website/src/components/Route.tsx | 60 ++++++++++---------------------- 1 file changed, 18 insertions(+), 42 deletions(-) diff --git a/website/src/components/Route.tsx b/website/src/components/Route.tsx index 16bec5712..4f1d0b5f2 100644 --- a/website/src/components/Route.tsx +++ b/website/src/components/Route.tsx @@ -2,38 +2,19 @@ import MarkdownIt from 'markdown-it'; import Badge from './Badge'; import Translate from '@docusaurus/Translate'; import Link from '@docusaurus/Link'; +import type { Route } from '../../../lib/types'; export default function Route({ - author = 'DIYgod', - path = '', - example = '', - paramsDesc = 'N/A', - anticrawler = null, - supportBT = null, - supportPodcast = null, - supportScihub = null, - radar = null, - configRequired = null, - puppeteer = null, - notOperational = null, + namespace, + data, children = null, }: { - author?: string; - path: string; - example?: string; - paramsDesc?: string; - anticrawler?: boolean; - supportBT?: boolean; - supportPodcast?: boolean; - supportScihub?: boolean; - radar?: boolean; - configRequired?: boolean; - puppeteer?: boolean; - notOperational?: boolean; + namespace: string, + data: Route; children?: JSX.Element | JSX.Element[]; }): JSX.Element { - const demoUrl = 'https://rsshub.app' + example; - const paramMatch = path.match(/(?<=:).*?(?=\/|$)/g); + const demoUrl = 'https://rsshub.app' + data.example; + const paramMatch = data.path.match?.(/(?<=:).*?(?=\/|$)/g); const renderMarkdown = (item, inline = true) => { const md = new MarkdownIt({ @@ -43,28 +24,23 @@ export default function Route({ }; return ( -
+

- {notOperational && ( - - - - )} - {anticrawler && ( + {data.features.antiCrawler && ( )} - {supportBT && } - {supportPodcast && } - {supportScihub && } - {puppeteer && } - {configRequired && ( + {data.features.supportBT && } + {data.features.supportPodcast && } + {data.features.supportScihub && } + {data.features.requirePuppeteer && } + {data.features.requireConfig && ( )} - {radar && ( + {data.radar && ( @@ -72,7 +48,7 @@ export default function Route({

- {author.split(' ').map((uid) => ( + {data.maintainers.map((uid) => ( @{uid}{' '} @@ -86,7 +62,7 @@ export default function Route({

- {path} + {data.path}

{paramMatch ? (
@@ -100,7 +76,7 @@ export default function Route({ '*': , '+': , }[item[item.length - 1]] || } - + ))}