X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/59694e2a75136c283ec8dee1827018822f6919f2..27dc8e6e5a89a00a9ba8eadfb4e60481564103ac:/edit.js diff --git a/edit.js b/edit.js index 57a6f3c..0d45de9 100644 --- a/edit.js +++ b/edit.js @@ -2,10 +2,10 @@ CKEDITOR.plugins.add('inlinesave', { init: function(editor) { editor.addCommand( 'inlinesave', { exec: function (editor) { - var pagename = window.location.pathname.replace(/\.html$/, '').replace(/\/$/, '/index'); + var pagename = window.location.pathname.replace(/\/$/, '/index'); var data = 'body='+encodeURIComponent(editor.getData()); ajaxpost = new XMLHttpRequest(); - ajaxpost.open('POST', '/edit.php'+pagename, true); + ajaxpost.open('POST', '/edit'+pagename, true); ajaxpost.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajaxpost.onreadystatechange = function () { if (ajaxpost.readyState != 4) @@ -46,8 +46,9 @@ CKEDITOR.on('instanceCreated', function (event) { config.format_tags = 'h2;h3;h4;p'; config.allowedContent = true; config.entities = false; // keep unicode - config.filebrowserImageUploadUrl = '/edit.php?type=img'; + config.filebrowserImageUploadUrl = '/edit?type=img'; config.forcePasteAsPlainText = true; + config.contentsCss = '/excelsior.css'; config.toolbar = [ ['Inlinesave', '-', 'ShowBlocks', 'Sourcedialog', '-', 'Undo', 'Redo'], ['Format'], @@ -55,6 +56,10 @@ CKEDITOR.on('instanceCreated', function (event) { ['Bold', 'Italic', 'Underline', 'Strike', 'RemoveFormat', '-', 'Anchor', 'Link'], ['HorizontalRule', 'Table', 'Image'], ]; + config.toolbarCanCollapse = true; + config.floatSpacePreferRight = true; + config.floatSpaceDockedOffsetY = 0; + config.startupFocus = true; config.disableObjectResizing = true; document.execCommand('enableObjectResizing', false, false); // workaround in inline mode; ff bug? @@ -71,8 +76,29 @@ CKEDITOR.on('instanceCreated', function (event) { }); }); -var pagebody = document.getElementsByClassName('article')[0]; -pagebody.setAttribute('contenteditable', 'true'); + CKEDITOR.disableAutoInline = true; -document.body.className = 'edit'; +// add edit link to menu +var pagebody = document.getElementsByClassName('static')[0]; +if (pagebody) { + var editlink = document.createElement('a'); + editlink.style.cursor = 'pointer'; + editlink.appendChild(document.createTextNode('Wijzig')); + editlink.onclick = function (e) { + var toggled = editlink.style.fontWeight; + editlink.style.fontWeight = toggled ? '' : 'bold'; + pagebody.setAttribute('contenteditable', !toggled); + if (toggled) { + for (name in CKEDITOR.instances) { + CKEDITOR.instances[name].destroy() + } + } + else { + CKEDITOR.inline(pagebody); + } + document.body.className = toggled ? '' : 'edit'; + return false; + }; + document.querySelector('header ul').appendChild(editlink); +}