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(/<br \/>\s*<br \/>/g, '<p>');
+ 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
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) && !/<font/.test(html)) return;
+
+ // force pasteFilter on contents containing styling attributes
+ var filter = new CKEDITOR.filter(pastefilter),
+ fragment = CKEDITOR.htmlParser.fragment.fromHtml(html),
+ writer = new CKEDITOR.htmlParser.basicWriter();
+ filter.applyTo(fragment);
+ fragment.writeHtml(writer);
+ e.data.dataValue = writer.getHtml();
+ });
+
editor.on('configLoaded', function () {
var config = editor.config;
config.language = 'nl';
config.format_tags = 'h2;h3;h4;p';
config.allowedContent = true;
config.entities = false; // keep unicode
- config.filebrowserImageUploadUrl = '/edit?type=img';
- config.forcePasteAsPlainText = true;
+ config.filebrowserImageUploadUrl = '/edit?output=ckescript';
+ config.pasteFilter = pastefilter;
config.contentsCss = document.styleSheets[0].href;
config.toolbar = [
['Inlinesave', '-', 'Undo', 'Redo'],