function load(textarea, div) {
div.innerHTML = '';
let lines = textarea.value.split('\n');
for (let i = 0; i < lines.length; i++) {
let line = lines[i];
let elem = formatLine(line);
elem.id = 'mdnotes_' + i;
div.append(elem);
}
}
function save(textarea, div) {
let lines = div.children;
let text = '';
for (let i=0; i>>\s/i)) {
token = /^(>>>\s)/i;
styleClass = 'bq3';
} else if (normLine.match(/>>\s/i)) {
token = /^(>>\s)/i;
styleClass = 'bq2';
} else if (normLine.match(/>\s/i)) {
token = /^(>\s)/i;
styleClass = 'bq1';
} else if (normLine.match(/^[*-]\s/i)) {
styleClass = 'ul';
} else {
styleClass = 'body';
}
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) {
elem.classList.add('hastoken');
normLine = normLine.replace(token, '$1');
}
elem.innerHTML = normLine;
return elem;
}
function addMono(line) {
line = line.replace(/`(.*?)`/ig, '`$1`');
return line;
}
function addLink(line) {
line = line.replace(/(\[(.*?)\]\((.*?)\))/ig, '[$2]($3)');
return line;
}
function addBold(line) {
line = line.replace(/\*\*([^\s].*?)\*\*/ig, '**$1**');
line = line.replace(/__([^\s].*?)__/ig, '__$1__');
return line;
}
export { load, save, formatLine };