mirror of
https://github.com/ParisNeo/lollms-webui.git
synced 2024-12-19 20:37:51 +00:00
Fixed paragraphs problems
This commit is contained in:
parent
281a963549
commit
12076f9146
@ -324,11 +324,71 @@ class MarkdownRenderer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
handleParagraphs(text) {
|
handleParagraphs(text) {
|
||||||
//return text.replace(/^(?!<[uo]l|<blockquote|<h\d|<pre|<hr|<table|<li|<button)(.+)$/gm, '<p class="mb-4">$1</p>');
|
// Split the text into lines
|
||||||
// No need to handle paragraphs separately, they will be handled as the remaining content
|
let lines = text.split('\n');
|
||||||
return text;
|
let inList = false;
|
||||||
}
|
let inCodeBlock = false;
|
||||||
|
let result = [];
|
||||||
|
|
||||||
|
for (let i = 0; i < lines.length; i++) {
|
||||||
|
let line = lines[i].trim();
|
||||||
|
|
||||||
|
// Check for code blocks
|
||||||
|
if (line.startsWith('```')) {
|
||||||
|
inCodeBlock = !inCodeBlock;
|
||||||
|
result.push(line);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we're in a code block, don't process the line
|
||||||
|
if (inCodeBlock) {
|
||||||
|
result.push(line);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for list items
|
||||||
|
if (line.match(/^[-*+]\s/) || line.match(/^\d+\.\s/)) {
|
||||||
|
if (!inList) {
|
||||||
|
result.push(inList ? '' : '<ul>');
|
||||||
|
inList = true;
|
||||||
|
}
|
||||||
|
result.push('<li>' + line.replace(/^[-*+]\s/, '').replace(/^\d+\.\s/, '') + '</li>');
|
||||||
|
}
|
||||||
|
// Check for headers
|
||||||
|
else if (line.startsWith('#')) {
|
||||||
|
let level = line.match(/^#+/)[0].length;
|
||||||
|
result.push(`<h${level}>${line.replace(/^#+\s/, '')}</h${level}>`);
|
||||||
|
}
|
||||||
|
// Check for horizontal rules
|
||||||
|
else if (line.match(/^(-{3,}|\*{3,}|_{3,})$/)) {
|
||||||
|
result.push('<hr>');
|
||||||
|
}
|
||||||
|
// Handle empty lines
|
||||||
|
else if (line === '') {
|
||||||
|
if (inList) {
|
||||||
|
result.push('</ul>');
|
||||||
|
inList = false;
|
||||||
|
}
|
||||||
|
result.push('<br>');
|
||||||
|
}
|
||||||
|
// Regular paragraph
|
||||||
|
else {
|
||||||
|
if (inList) {
|
||||||
|
result.push('</ul>');
|
||||||
|
inList = false;
|
||||||
|
}
|
||||||
|
result.push('<p>' + line + '</p>');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close any open list
|
||||||
|
if (inList) {
|
||||||
|
result.push('</ul>');
|
||||||
|
}
|
||||||
|
|
||||||
|
return result.join('\n');
|
||||||
|
}
|
||||||
|
|
||||||
initMathJax() {
|
initMathJax() {
|
||||||
// Configure MathJax
|
// Configure MathJax
|
||||||
window.MathJax = {
|
window.MathJax = {
|
||||||
|
Loading…
Reference in New Issue
Block a user