27 lines
885 B
TypeScript
27 lines
885 B
TypeScript
import rehypeKatex from "rehype-katex";
|
|
import remarkGfm from "remark-gfm";
|
|
import remarkMath from "remark-math";
|
|
import type { StreamdownProps } from "streamdown";
|
|
|
|
export const streamdownPlugins = {
|
|
remarkPlugins: [
|
|
remarkGfm,
|
|
[remarkMath, { singleDollarTextMath: true }],
|
|
] as StreamdownProps["remarkPlugins"],
|
|
rehypePlugins: [
|
|
[rehypeKatex, { output: "html" }],
|
|
] 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"],
|
|
};
|