From 3d73894397b601d7b55d94324e1323410a319274 Mon Sep 17 00:00:00 2001 From: Nicolas Sanchez Date: Sun, 12 Feb 2023 18:57:04 +0100 Subject: [PATCH] liens internes externes --- static/modules/md.js | 45 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/static/modules/md.js b/static/modules/md.js index 09b95ca..b68ee11 100644 --- a/static/modules/md.js +++ b/static/modules/md.js @@ -18,29 +18,50 @@ function save(textarea, div) { 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) { let normLine = line.trimStart(); let styleClass = null; let token = null; - if (normLine.match(/####\s/i)) { + if (normLine.match(/^####\s/i)) { token = /^(####\s)/i; styleClass = 'h4'; - } else if (normLine.match(/###\s/i)) { + } else if (normLine.match(/^###\s/i)) { token = /^(###\s)/i; styleClass = 'h3'; - } else if (normLine.match(/##\s/i)) { + } else if (normLine.match(/^##\s/)) { token = /^(##\s)/i; styleClass = 'h2'; - } else if (normLine.match(/#\s/i)) { + } else if (normLine.match(/^#\s/i)) { token = /^(#\s)/i; styleClass = 'h1'; - } else if (normLine.match(/>>>\s/i)) { + } else if (normLine.match(/^>>>\s/i)) { token = /^(>>>\s)/i; styleClass = 'bq3'; - } else if (normLine.match(/>>\s/i)) { + } else if (normLine.match(/^>>\s/i)) { token = /^(>>\s)/i; styleClass = 'bq2'; - } else if (normLine.match(/>\s/i)) { + } else if (normLine.match(/^>\s/i)) { token = /^(>\s)/i; styleClass = 'bq1'; } else if (normLine.match(/^[*-]\s/i)) { @@ -59,6 +80,16 @@ function formatLine(line) { normLine = normLine.replace(token, '$1'); } elem.innerHTML = normLine; + let links = elem.getElementsByClassName('link'); + for (let i=0; i