Do not replace codeblock newlines with <br> tags.

This commit is contained in:
50h100a
2023-06-21 23:59:52 -04:00
parent 4230f3881d
commit 4dac2126bf

View File

@ -1045,7 +1045,7 @@ function messageFormatting(mes, ch_name, isSystem, isUser) {
if (power_user.auto_fix_generated_markdown) {
mes = fixMarkdown(mes);
}
if (this_chid != undefined && !isSystem)
mes = mes.replaceAll("<", "&lt;").replaceAll(">", "&gt;"); //for welcome message
if ((this_chid === undefined || this_chid === "invalid-safety-id") && !selected_group) {
@ -1053,21 +1053,19 @@ function messageFormatting(mes, ch_name, isSystem, isUser) {
.replace(/\*\*(.+?)\*\*/g, "<b>$1</b>")
.replace(/\n/g, "<br/>");
} else if (!isSystem) {
mes = mes.replace(/```[\s\S]*?```|``[\s\S]*?``|`[\s\S]*?`|(\".+?\")|(\u201C.+?\u201D)/gm, function (match, p1, p2) {
if (p1) {
return '<q>"' + p1.replace(/\"/g, "") + '"</q>';
} else if (p2) {
return '<q>“' + p2.replace(/\u201C|\u201D/g, "") + '”</q>';
} else {
return match;
}
});
mes = mes.replace(/\".+?\"|\u201C.+?\u201D/gm, '<q>$&</q>') // Wrap quotes in <q>
mes = mes.replaceAll('\\begin{align*}', '$$');
mes = mes.replaceAll('\\end{align*}', '$$');
mes = converter.makeHtml(mes);
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(/\u0000/g, "\n"); // Restore converted newlines
mes = mes.trim();
mes = mes.replace(/<code(.*)>[\s\S]*?<\/code>/g, function (match) {