|
|
|
@@ -211,6 +211,12 @@ const AudioBlock: CodeComponent = memo(({ node }) => { |
|
|
|
}) |
|
|
|
AudioBlock.displayName = 'AudioBlock' |
|
|
|
|
|
|
|
const ScriptBlock = memo(({ node }: any) => { |
|
|
|
const scriptContent = node.children[0]?.value || '' |
|
|
|
return `<script>${scriptContent}</script>` |
|
|
|
}) |
|
|
|
ScriptBlock.displayName = 'ScriptBlock' |
|
|
|
|
|
|
|
const Paragraph = (paragraph: any) => { |
|
|
|
const { node }: any = paragraph |
|
|
|
const children_node = node.children |
|
|
|
@@ -265,7 +271,7 @@ export function Markdown(props: { content: string; className?: string }) { |
|
|
|
} |
|
|
|
}, |
|
|
|
]} |
|
|
|
disallowedElements={['script', 'iframe', 'head', 'html', 'meta', 'link', 'style', 'body']} |
|
|
|
disallowedElements={['iframe', 'head', 'html', 'meta', 'link', 'style', 'body']} |
|
|
|
components={{ |
|
|
|
code: CodeBlock, |
|
|
|
img: Img, |
|
|
|
@@ -275,6 +281,7 @@ export function Markdown(props: { content: string; className?: string }) { |
|
|
|
p: Paragraph, |
|
|
|
button: MarkdownButton, |
|
|
|
form: MarkdownForm, |
|
|
|
script: ScriptBlock, |
|
|
|
}} |
|
|
|
linkTarget='_blank' |
|
|
|
> |