ongoing refactor to update colors by line
This commit is contained in:
parent
dde40492e2
commit
cbac831768
44
main.js
44
main.js
|
@ -1973,17 +1973,46 @@ function rawline(index)
|
|||
return md.value.split("\n")[index];
|
||||
}
|
||||
|
||||
function applycolorsonline(line, index, options)
|
||||
function applycolorsonline(line, linediv, index, options)
|
||||
{
|
||||
line = escapeHtml(line);
|
||||
|
||||
while (linediv.hasChildNodes())
|
||||
{
|
||||
linediv.removeChild(linediv.lastChild);
|
||||
}
|
||||
|
||||
// headings
|
||||
if (line.startsWith("#"))
|
||||
{
|
||||
line = line.replace(/(#* )/, "<span style='color:" + settings.accentcolor + "'>$1</span>"); // to check!
|
||||
line = "<span style='font-weight: bold;'>" + line + "</span>";
|
||||
var level = line.indexOf(" ");
|
||||
if (level == -1)
|
||||
{
|
||||
level = line.length;
|
||||
}
|
||||
|
||||
var span = document.createElement("span");
|
||||
span.setAttribute("style", `font-weight: bold;color:${settings.accentcolor};`);
|
||||
span.appendChild(document.createTextNode("#".repeat(level)));
|
||||
linediv.appendChild(span);
|
||||
|
||||
if (level < line.length)
|
||||
{
|
||||
var headingtext = line.substring(level);
|
||||
span = document.createElement("span");
|
||||
span.setAttribute("style", "font-weight: bold;");
|
||||
span.appendChild(document.createTextNode(headingtext));
|
||||
linediv.appendChild(span);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// fallback
|
||||
//linediv.appendChild(document.createTextNode(line || " "));
|
||||
//return;
|
||||
|
||||
/* -----TODO------ */
|
||||
|
||||
// bold and italics
|
||||
var temp = line;
|
||||
if (line.startsWith("* "))
|
||||
|
@ -2107,7 +2136,8 @@ function applycolorsonline(line, index, options)
|
|||
}
|
||||
}
|
||||
}
|
||||
return line;
|
||||
|
||||
linediv.innerHTML = line || " ";
|
||||
}
|
||||
|
||||
function applycolors(currentonly)
|
||||
|
@ -2130,9 +2160,7 @@ function applycolors(currentonly)
|
|||
var index = currentline();
|
||||
var linediv = document.getElementById("line" + index);
|
||||
options = JSON.parse(linediv.getAttribute("tag"));
|
||||
var line = rawline(index);
|
||||
line = applycolorsonline(line, index, options);
|
||||
linediv.innerHTML = line || " ";
|
||||
applycolorsonline(rawline(index), linediv, index, options);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2149,7 +2177,7 @@ function applycolors(currentonly)
|
|||
}
|
||||
linediv.setAttribute("id", "line" + i);
|
||||
linediv.setAttribute("tag", JSON.stringify(options));
|
||||
linediv.innerHTML = applycolorsonline(lines[i], i, options) || " ";
|
||||
applycolorsonline(lines[i], linediv, i, options);
|
||||
};
|
||||
|
||||
// remove remanining
|
||||
|
|
Loading…
Reference in New Issue