|
|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
function load(textarea, div) {
|
|
|
|
|
div.innerHTML = '';
|
|
|
|
|
let lines = textarea.value.split('\n');
|
|
|
|
|
for (let i = 0; i < lines.length; i++) {
|
|
|
|
|
let line = lines[i];
|
|
|
|
|
@ -8,6 +9,15 @@ function load(textarea, div) {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function save(textarea, div) {
|
|
|
|
|
let lines = div.children;
|
|
|
|
|
let text = '';
|
|
|
|
|
for (let i=0; i<lines.length; i++) {
|
|
|
|
|
text += lines[i].innerText + '\n';
|
|
|
|
|
}
|
|
|
|
|
textarea.value = text;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function formatLine(line) {
|
|
|
|
|
let normLine = line.trimStart();
|
|
|
|
|
let styleClass = null;
|
|
|
|
|
@ -41,6 +51,7 @@ function formatLine(line) {
|
|
|
|
|
let elem = document.createElement('div');
|
|
|
|
|
elem.classList.add('mdnotes_line');
|
|
|
|
|
elem.classList.add(styleClass);
|
|
|
|
|
normLine = addLink(normLine);
|
|
|
|
|
normLine = addBold(normLine);
|
|
|
|
|
normLine = addMono(normLine);
|
|
|
|
|
if (token != null) {
|
|
|
|
|
@ -56,10 +67,15 @@ function addMono(line) {
|
|
|
|
|
return line;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function addLink(line) {
|
|
|
|
|
line = line.replace(/(\[(.*?)\]\((.*?)\))/ig, '<span class="token">[</span><a class="link" href="$3">$2</a><span class="token">]($3)</span>');
|
|
|
|
|
return line;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function addBold(line) {
|
|
|
|
|
line = line.replace(/\*\*([^\s].*?)\*\*/ig, '<span class="bold"><span class="token">**</span>$1<span class="token">**</span></span>');
|
|
|
|
|
line = line.replace(/__([^\s].*?)__/ig, '<span class="bold"><span class="token">__</span>$1<span class="token">__</span></span>');
|
|
|
|
|
return line;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export { load, formatLine };
|
|
|
|
|
export { load, save, formatLine };
|