mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Do not replace codeblock newlines with <br> tags.
This commit is contained in:
@@ -1053,21 +1053,19 @@ function messageFormatting(mes, ch_name, isSystem, isUser) {
|
|||||||
.replace(/\*\*(.+?)\*\*/g, "<b>$1</b>")
|
.replace(/\*\*(.+?)\*\*/g, "<b>$1</b>")
|
||||||
.replace(/\n/g, "<br/>");
|
.replace(/\n/g, "<br/>");
|
||||||
} else if (!isSystem) {
|
} else if (!isSystem) {
|
||||||
mes = mes.replace(/```[\s\S]*?```|``[\s\S]*?``|`[\s\S]*?`|(\".+?\")|(\u201C.+?\u201D)/gm, function (match, p1, p2) {
|
mes = mes.replace(/\".+?\"|\u201C.+?\u201D/gm, '<q>$&</q>') // Wrap quotes in <q>
|
||||||
if (p1) {
|
|
||||||
return '<q>"' + p1.replace(/\"/g, "") + '"</q>';
|
|
||||||
} else if (p2) {
|
|
||||||
return '<q>“' + p2.replace(/\u201C|\u201D/g, "") + '”</q>';
|
|
||||||
} else {
|
|
||||||
return match;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
mes = mes.replaceAll('\\begin{align*}', '$$');
|
mes = mes.replaceAll('\\begin{align*}', '$$');
|
||||||
mes = mes.replaceAll('\\end{align*}', '$$');
|
mes = mes.replaceAll('\\end{align*}', '$$');
|
||||||
mes = converter.makeHtml(mes);
|
mes = converter.makeHtml(mes);
|
||||||
mes = mes.replace(/{{(\*?.*\*?)}}/g, "");
|
mes = mes.replace(/{{(\*?.*\*?)}}/g, "");
|
||||||
|
|
||||||
|
mes = mes.replace(/<code(.*)>[\s\S]*?<\/code>/g, function (match) {
|
||||||
|
// Firefox creates extra newlines from <br>s in code blocks, so we replace them before converting newlines to <br>s.
|
||||||
|
return match.replace(/\n/gm, '\u0000');
|
||||||
|
})
|
||||||
mes = mes.replace(/\n/g, "<br/>");
|
mes = mes.replace(/\n/g, "<br/>");
|
||||||
|
mes = mes.replace(/\u0000/g, "\n"); // Restore converted newlines
|
||||||
mes = mes.trim();
|
mes = mes.trim();
|
||||||
|
|
||||||
mes = mes.replace(/<code(.*)>[\s\S]*?<\/code>/g, function (match) {
|
mes = mes.replace(/<code(.*)>[\s\S]*?<\/code>/g, function (match) {
|
||||||
|
Reference in New Issue
Block a user