feat: custom components in markdown comp (#22776)

pull/21682/merge
Wu Tianwei 7 months ago committed by GitHub
parent 841e53dbbe
commit ce15ca8929
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -28,8 +28,15 @@ import {
* Further refactoring candidates (custom block components not fitting general categories) * Further refactoring candidates (custom block components not fitting general categories)
* are noted in their respective files if applicable. * are noted in their respective files if applicable.
*/ */
export type MarkdownProps = {
content: string
className?: string
customDisallowedElements?: string[]
customComponents?: Record<string, React.ComponentType<any>>
}
export function Markdown(props: { content: string; className?: string; customDisallowedElements?: string[] }) { export const Markdown = (props: MarkdownProps) => {
const { customComponents = {} } = props
const latexContent = flow([ const latexContent = flow([
preprocessThinkTag, preprocessThinkTag,
preprocessLaTeX, preprocessLaTeX,
@ -78,6 +85,7 @@ export function Markdown(props: { content: string; className?: string; customDis
form: MarkdownForm, form: MarkdownForm,
script: ScriptBlock as any, script: ScriptBlock as any,
details: ThinkBlock, details: ThinkBlock,
...customComponents,
}} }}
> >
{/* Markdown detect has problem. */} {/* Markdown detect has problem. */}

Loading…
Cancel
Save