|
@@ -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'
|
|
|
>
|