/** * Markdown Component * * Markdown 渲染组件,支持 GFM 语法和代码高亮 */ import ReactMarkdown from 'react-markdown'; import remarkGfm from 'remark-gfm'; import { CodeBlock, InlineCode } from './CodeBlock'; import { cn } from '../utils/cn'; interface MarkdownProps { content: string; className?: string; } export function Markdown({ content, className }: MarkdownProps) { return (
{children}; } return ( ); }, // 段落 p({ children }) { return

{children}

; }, // 标题 h1({ children }) { return

{children}

; }, h2({ children }) { return

{children}

; }, h3({ children }) { return

{children}

; }, h4({ children }) { return

{children}

; }, // 列表 ul({ children }) { return
    {children}
; }, ol({ children }) { return
    {children}
; }, li({ children }) { return
  • {children}
  • ; }, // 引用 blockquote({ children }) { return (
    {children}
    ); }, // 链接 a({ href, children }) { return ( {children} ); }, // 强调 strong({ children }) { return {children}; }, em({ children }) { return {children}; }, // 分割线 hr() { return
    ; }, // 表格 table({ children }) { return (
    {children}
    ); }, thead({ children }) { return {children}; }, tbody({ children }) { return {children}; }, tr({ children }) { return {children}; }, th({ children }) { return ( {children} ); }, td({ children }) { return ( {children} ); }, // 图片 img({ src, alt }) { return ( {alt ); }, // 预格式化文本(非代码块的 pre) pre({ children }) { return (
                    {children}
                  
    ); }, }} > {content}
    ); }