Files
blitzkit/packages/website/src/components/Markdown.tsx
T

32 lines
830 B
TypeScript
Raw Normal View History

2024-10-07 18:36:07 -05:00
import { Link, Table } from '@radix-ui/themes';
import MarkdownToJSX from 'markdown-to-jsx';
2025-08-18 11:11:35 -05:00
import type { ComponentProps } from 'react';
2024-10-07 18:36:07 -05:00
interface MarkdownProps {
children: string;
}
2025-08-18 11:11:35 -05:00
function Image(props: ComponentProps<'img'>) {
return <img style={{ maxWidth: '100%' }} {...props} />;
}
2024-10-07 18:36:07 -05:00
export function Markdown({ children }: MarkdownProps) {
return (
<MarkdownToJSX
options={{
overrides: {
a: { component: Link },
table: { component: Table.Root },
thead: { component: Table.Header },
tbody: { component: Table.Body },
tr: { component: Table.Row },
th: { component: Table.ColumnHeaderCell },
td: { component: Table.Cell },
2025-08-18 11:11:35 -05:00
img: { component: Image },
2024-10-07 18:36:07 -05:00
},
}}
>
{children}
</MarkdownToJSX>
);
}