edit: leave standalone placeholders as is
[minimedit.git] / edit.js
diff --git a/edit.js b/edit.js
index f6df1e546060bc9b040380807162b8e5cd342bc8..1485394ab029618a9fcddc0736d02e6b3b2e65ca 100644 (file)
--- 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(/<br \/>\s*<br \/>/g, '<p>');
+                               // 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>(\[\[.*\]\])<\/p>/g, '$1');
+
                                var data = 'body='+encodeURIComponent(body);
                                ajaxpost = new XMLHttpRequest();
                                ajaxpost.open('POST', '/edit'+pagename, true);