From 43a352bd08ac38800f6fa73d48d565f39bca4549 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Sun, 8 Jul 2018 02:08:01 +0200 Subject: [PATCH] edit: leave standalone placeholders as is As described, fix unwanted

containers being added, causing accumulative empty paragraphs on successive edits. --- edit.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/edit.js b/edit.js index f6df1e5..1485394 100644 --- a/edit.js +++ b/edit.js @@ -4,13 +4,17 @@ CKEDITOR.plugins.add('inlinesave', { exec: function (editor) { var pagename = window.location.pathname.replace(/\/$/, '/index'); var body = editor.getData(); + // empty line is equivalent to a paragraph break body = body.replace(/
\s*
/g, '

'); + // wrap long line after each sentence body = body.replace(/^(\t*).{73,}/mg, function (line, indent) { - // wrap long line after each sentence var dots = '(?:.{24,72}|.{73,}?)'; // chars before punctuation var wrap = new RegExp('('+dots+'[.;:!?]) (?=[A-Z(<])', 'g'); // separate lines return line.replace(wrap, '$1\n'+indent+'\t'); }); + // treat standalone placeholders as block elements + body = body.replace(/

(\[\[.*\]\])<\/p>/g, '$1'); + var data = 'body='+encodeURIComponent(body); ajaxpost = new XMLHttpRequest(); ajaxpost.open('POST', '/edit'+pagename, true); -- 2.30.0