diff --git a/static/application.js b/static/application.js index 374cdf25..2e633aa4 100644 --- a/static/application.js +++ b/static/application.js @@ -758,7 +758,7 @@ function chunkOnTextInput(event) { // mobile devices, but the other method is also here as // a fallback if(document.queryCommandSupported && document.execCommand && document.queryCommandSupported('insertHTML')) { - document.execCommand('insertHTML', false, event.originalEvent.data.slice(0, -1).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\n/g, '
') + '
|'); + document.execCommand('insertHTML', false, event.originalEvent.data.slice(0, -1).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/(?=\r|\n)\r?\n?/g, '
') + '
|'); var t = $('#_EDITOR_SENTINEL_').contents().filter(function() { return this.nodeType === 3; })[0]; } else { var t = document.createTextNode('|'); @@ -1043,13 +1043,13 @@ function chunkOnPaste(event) { // paste as plaintext if(event.originalEvent.clipboardData && document.queryCommandSupported && document.execCommand && document.queryCommandSupported('insertText')) { event.preventDefault(); - document.execCommand('insertHTML', false, event.originalEvent.clipboardData.getData('text/plain').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\n/g, '
')); + document.execCommand('insertHTML', false, event.originalEvent.clipboardData.getData('text/plain').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/(?=\r|\n)\r?\n?/g, '
')); } else if (event.originalEvent.clipboardData) { event.preventDefault(); var s = getSelection(); // WARNING: Do not use rangy.getSelection() instead of getSelection() var r = s.getRangeAt(0); r.deleteContents(); - var nodes = Array.from($('' + event.originalEvent.clipboardData.getData('text/plain').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/\n/g, '
') + '
')[0].childNodes); + var nodes = Array.from($('' + event.originalEvent.clipboardData.getData('text/plain').replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/(?=\r|\n)\r?\n?/g, '
') + '
')[0].childNodes); for(var i = 0; i < nodes.length; i++) { r.insertNode(nodes[i]); r.collapse(false); diff --git a/templates/index.html b/templates/index.html index 6b774699..0f4d654e 100644 --- a/templates/index.html +++ b/templates/index.html @@ -6,7 +6,7 @@ - +