@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 2.21 kB
Source Map (JSON)
{"version":3,"file":"useMarkdownRemarkPlugins.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownRemarkPlugins.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport remarkBreaks from 'remark-breaks';\nimport remarkCjkFriendly from 'remark-cjk-friendly';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport type { Pluggable } from 'unified';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport { remarkBr } from '@/Markdown/plugins/remarkBr';\nimport { remarkCustomFootnotes } from '@/Markdown/plugins/remarkCustomFootnotes';\nimport { remarkGfmPlus } from '@/Markdown/plugins/remarkGfmPlus';\nimport { remarkVideo } from '@/Markdown/plugins/remarkVideo';\n\nexport const useMarkdownRemarkPlugins = (): Pluggable[] => {\n const {\n enableLatex,\n enableCustomFootnotes,\n remarkPlugins = [],\n remarkPluginsAhead = [],\n variant,\n allowHtml,\n } = useMarkdownContext();\n\n const isChatMode = variant === 'chat';\n\n const memoPlugins = useMemo(\n () =>\n [\n remarkCjkFriendly,\n // Parse math before GFM so that '|' inside $...$ isn't treated as a table separator\n enableLatex && remarkMath,\n [remarkGfm, { singleTilde: false }],\n !allowHtml && remarkBr,\n !allowHtml && remarkGfmPlus,\n !allowHtml && remarkVideo,\n enableCustomFootnotes && remarkCustomFootnotes,\n isChatMode && remarkBreaks,\n ].filter(Boolean) as Pluggable[],\n [allowHtml, isChatMode, enableLatex, enableCustomFootnotes],\n );\n\n return useMemo(\n () => [...remarkPluginsAhead, ...memoPlugins, ...remarkPlugins],\n [remarkPlugins, memoPlugins, remarkPluginsAhead],\n );\n};\n"],"mappings":";;;;;;;;;;;;;;AAeA,MAAa,iCAA8C;CACzD,MAAM,EACJ,aACA,uBACA,gBAAgB,EAAE,EAClB,qBAAqB,EAAE,EACvB,SACA,cACE,oBAAoB;CAExB,MAAM,aAAa,YAAY;CAE/B,MAAM,cAAc,cAEhB;EACE;EAEA,eAAe;EACf,CAAC,WAAW,EAAE,aAAa,OAAO,CAAC;EACnC,CAAC,aAAa;EACd,CAAC,aAAa;EACd,CAAC,aAAa;EACd,yBAAyB;EACzB,cAAc;EACf,CAAC,OAAO,QAAQ,EACnB;EAAC;EAAW;EAAY;EAAa;EAAsB,CAC5D;AAED,QAAO,cACC;EAAC,GAAG;EAAoB,GAAG;EAAa,GAAG;EAAc,EAC/D;EAAC;EAAe;EAAa;EAAmB,CACjD"}