liens internes externes

pull/1/head
Nicolas Sanchez 3 years ago
parent 33a8555e82
commit 3d73894397

@ -18,29 +18,50 @@ function save(textarea, div) {
textarea.value = text; textarea.value = text;
} }
function onlinkin(e) {
let link = e.currentTarget;
if (document.getElementById('mdnotes') !== document.activeElement) {
document.getElementById('mdnotes').contentEditable = false;
}
}
function onlink(e) {
let mdnotes = document.getElementById('mdnotes');
if (mdnotes.contentEditable == 'false') {
mdnotes.contentEditable = true;
}
}
function onlinkout(e) {
let mdnotes = document.getElementById('mdnotes');
if (mdnotes.contentEditable == 'false') {
mdnotes.contentEditable = true;
}
}
function formatLine(line) { function formatLine(line) {
let normLine = line.trimStart(); let normLine = line.trimStart();
let styleClass = null; let styleClass = null;
let token = null; let token = null;
if (normLine.match(/####\s/i)) { if (normLine.match(/^####\s/i)) {
token = /^(####\s)/i; token = /^(####\s)/i;
styleClass = 'h4'; styleClass = 'h4';
} else if (normLine.match(/###\s/i)) { } else if (normLine.match(/^###\s/i)) {
token = /^(###\s)/i; token = /^(###\s)/i;
styleClass = 'h3'; styleClass = 'h3';
} else if (normLine.match(/##\s/i)) { } else if (normLine.match(/^##\s/)) {
token = /^(##\s)/i; token = /^(##\s)/i;
styleClass = 'h2'; styleClass = 'h2';
} else if (normLine.match(/#\s/i)) { } else if (normLine.match(/^#\s/i)) {
token = /^(#\s)/i; token = /^(#\s)/i;
styleClass = 'h1'; styleClass = 'h1';
} else if (normLine.match(/>>>\s/i)) { } else if (normLine.match(/^>>>\s/i)) {
token = /^(>>>\s)/i; token = /^(>>>\s)/i;
styleClass = 'bq3'; styleClass = 'bq3';
} else if (normLine.match(/>>\s/i)) { } else if (normLine.match(/^>>\s/i)) {
token = /^(>>\s)/i; token = /^(>>\s)/i;
styleClass = 'bq2'; styleClass = 'bq2';
} else if (normLine.match(/>\s/i)) { } else if (normLine.match(/^>\s/i)) {
token = /^(>\s)/i; token = /^(>\s)/i;
styleClass = 'bq1'; styleClass = 'bq1';
} else if (normLine.match(/^[*-]\s/i)) { } else if (normLine.match(/^[*-]\s/i)) {
@ -59,6 +80,16 @@ function formatLine(line) {
normLine = normLine.replace(token, '<span class="token">$1</span>'); normLine = normLine.replace(token, '<span class="token">$1</span>');
} }
elem.innerHTML = normLine; elem.innerHTML = normLine;
let links = elem.getElementsByClassName('link');
for (let i=0; i<links.length; i++) {
let link = links[i];
if (link.host !== document.location.host) {
link.target = '_blank';
}
link.addEventListener('mouseover', onlinkin);
link.addEventListener('click', onlink);
link.addEventListener('mouseout', onlinkout);
}
return elem; return elem;
} }

Loading…
Cancel
Save