mirror of
https://github.com/open-webui/open-webui
synced 2025-01-18 16:51:17 +00:00
enh: latex
This commit is contained in:
parent
52cf06b36c
commit
41fecb800d
@ -182,6 +182,7 @@
|
||||
{ left: '\\[', right: '\\]', display: false },
|
||||
{ left: '[ ', right: ' ]', display: false },
|
||||
{ left: '\\begin{equation}', right: '\\end{equation}', display: true },
|
||||
{ left: '\\begin{matrix}', right: '\\end{matrix}', display: true },
|
||||
{ left: '\\begin{align}', right: '\\end{align}', display: true },
|
||||
{ left: '\\begin{alignat}', right: '\\end{alignat}', display: true },
|
||||
{ left: '\\begin{gather}', right: '\\end{gather}', display: true },
|
||||
|
@ -6,9 +6,29 @@ import { WEBUI_BASE_URL } from '$lib/constants';
|
||||
// Helper functions
|
||||
//////////////////////////
|
||||
|
||||
const convertLatexToSingleLine = (content) => {
|
||||
// Patterns to match multiline LaTeX blocks
|
||||
const patterns = [
|
||||
/(\$\$[\s\S]*?\$\$)/g, // Match $$ ... $$
|
||||
/(\\[\s\S]*?\\])/g, // Match \[ ... \]
|
||||
/(\$\[\s\S]*?\$\])/g, // Match $\[ ... \]$
|
||||
/(\$\(\s\S]*?\$\))/g, // Match $\( ... \)$
|
||||
/(\\begin\{[a-z]+\}[\s\S]*?\\end\{[a-z]+\})/g // Match \begin{...} ... \end{...}
|
||||
];
|
||||
|
||||
patterns.forEach((pattern) => {
|
||||
content = content.replace(pattern, (match) => {
|
||||
return match.replace(/\s+/g, ' ').trim();
|
||||
});
|
||||
});
|
||||
|
||||
return content;
|
||||
};
|
||||
|
||||
export const sanitizeResponseContent = (content: string) => {
|
||||
// replace single backslash with double backslash
|
||||
content = content.replace(/\\/g, '\\\\');
|
||||
content = convertLatexToSingleLine(content);
|
||||
|
||||
// First, temporarily replace valid <video> tags with a placeholder
|
||||
const videoTagRegex = /<video\s+src="([^"]+)"\s+controls><\/video>/gi;
|
||||
|
Loading…
Reference in New Issue
Block a user