X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/808fb7096b76ddcfb20cd3afdcae5f1c1c700934..f719fa59056343e2ae36e732ce690cfa98845649:/edit.js?ds=sidebyside
diff --git a/edit.js b/edit.js
index dfa4a6d..f6df1e5 100644
--- a/edit.js
+++ b/edit.js
@@ -3,7 +3,9 @@ CKEDITOR.plugins.add('inlinesave', {
editor.addCommand( 'inlinesave', {
exec: function (editor) {
var pagename = window.location.pathname.replace(/\/$/, '/index');
- var body = editor.getData().replace(/^(\t*).{73,}/mg, function (line, indent) {
+ var body = editor.getData();
+ body = body.replace(/
\s*
/g, '
'); + 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 @@ -33,34 +35,63 @@ CKEDITOR.plugins.add('inlinesave', { }); CKEDITOR.on('dialogDefinition', function (event) { - if (event.data.name === 'table') { + switch (event.data.name) { + case 'table': // override initial attribute values var infoTab = event.data.definition.getContents('info'); infoTab.get('txtWidth').default = ''; infoTab.get('txtBorder').default = '0'; infoTab.get('txtCellSpace').default = ''; infoTab.get('txtCellPad').default = ''; + break; + case 'link': + // remove unneeded widgets from the Link Info tab + var infotab = event.data.definition.getContents('info'); + infotab.remove('linkType'); + break; } }); CKEDITOR.on('instanceCreated', function (event) { var editor = event.editor; + var pastefilter = 'h2 h3 p ul ol li blockquote em i strong b; a[!href]; img[alt,!src]'; + + editor.on('paste', function (e) { + var html = e.data.dataValue; + if (!/<[^>]* style="/.test(html) && !/