1
0
Fork 1
mirror of https://github.com/thatmattlove/hyperglass.git synced 2026-01-20 09:38:07 +00:00
thatmattlove-hyperglass/hyperglass/ui/elements/markdown/markdown.tsx
2021-12-19 22:57:00 -07:00

45 lines
864 B
TypeScript

import ReactMarkdown from 'react-markdown';
import gfm from 'remark-gfm';
import {
Br,
List,
Link,
Table,
Heading,
Divider,
ListItem,
TableRow,
CodeBlock,
TableCell,
Paragraph,
TableBody,
TableHead,
InlineCode,
} from './elements';
import type { ReactMarkdownProps } from 'react-markdown';
interface MarkdownProps {
content: string;
}
const renderers = {
break: Br,
link: Link,
list: List,
table: Table,
code: CodeBlock,
heading: Heading,
tableRow: TableRow,
listItem: ListItem,
tableHead: TableHead,
tableBody: TableBody,
paragraph: Paragraph,
tableCell: TableCell,
inlineCode: InlineCode,
thematicBreak: Divider,
} as ReactMarkdownProps['renderers'];
export const Markdown = (props: MarkdownProps): JSX.Element => (
<ReactMarkdown plugins={[gfm]} renderers={renderers} source={props.content} />
);