mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-05 15:10:20 +08:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import rehypeKatex from "rehype-katex";
|
|
import remarkGfm from "remark-gfm";
|
|
import remarkMath from "remark-math";
|
|
import type { StreamdownProps } from "streamdown";
|
|
|
|
import { rehypeSplitWordsIntoSpans } from "../rehype";
|
|
|
|
export const streamdownPlugins = {
|
|
remarkPlugins: [
|
|
remarkGfm,
|
|
[remarkMath, { singleDollarTextMath: true }],
|
|
] as StreamdownProps["remarkPlugins"],
|
|
rehypePlugins: [
|
|
[rehypeKatex, { output: "html" }],
|
|
] as StreamdownProps["rehypePlugins"],
|
|
};
|
|
|
|
export const streamdownPluginsWithWordAnimation = {
|
|
remarkPlugins: [
|
|
remarkGfm,
|
|
[remarkMath, { singleDollarTextMath: true }],
|
|
] as StreamdownProps["remarkPlugins"],
|
|
rehypePlugins: [
|
|
[rehypeKatex, { output: "html" }],
|
|
rehypeSplitWordsIntoSpans,
|
|
] as StreamdownProps["rehypePlugins"],
|
|
};
|
|
|
|
// Plugins for human messages - no autolink to prevent URL bleeding into adjacent text
|
|
export const humanMessagePlugins = {
|
|
remarkPlugins: [
|
|
// Use remark-gfm without autolink literals by not including it
|
|
// Only include math support for human messages
|
|
[remarkMath, { singleDollarTextMath: true }],
|
|
] as StreamdownProps["remarkPlugins"],
|
|
rehypePlugins: [
|
|
[rehypeKatex, { output: "html" }],
|
|
] as StreamdownProps["rehypePlugins"],
|
|
};
|