X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/6adf9d299fe0f6079b1caab7bc461d59ca4898ca..0d35ad089db9ae6b1cd619be28ddda2b2314895b:/edit/page.js
diff --git a/edit/page.js b/edit/page.js
index f927c1f..c3ece3c 100644
--- a/edit/page.js
+++ b/edit/page.js
@@ -28,6 +28,10 @@ CKEDITOR.plugins.add('inlinesave', {
});
// treat standalone placeholders as block elements
body = body.replace(/
(\[\[.*\]\])<\/p>/g, '$1');
+ // strip redundant domain in relative urls
+ var hostlink = 'https?://' + window.location.hostname.replace(/\W/g, '\\$&');
+ hostlink = new RegExp('(]*href="|]*src=")' + hostlink + '(?=/)', 'gi');
+ body = body.replace(hostlink, '$1');
var data = 'body='+encodeURIComponent(body);
var ajaxpost = new XMLHttpRequest();
@@ -115,11 +119,20 @@ CKEDITOR.on('instanceCreated', function (event) {
var config = editor.config;
config.language = 'nl';
config.extraPlugins = 'inlinesave,placeholder,image2,uploadimage';
- config.allowedContent = true;
+ config.removePlugins = 'image,exportpdf'; // conflicts with imag2
+ config.allowedContent = {
+ $1: {
+ elements: CKEDITOR.dtd,
+ attributes: true,
+ styles: true,
+ classes: true,
+ },
+ };
+ config.disallowedContent = 'img[width,height]';
config.entities = false; // keep unicode
- config.filebrowserImageUploadUrl = '/edit/page?output=ckescript';
- config.uploadUrl = '/edit/page?output=ckjson';
+ config.filebrowserImageUploadUrl = '/edit/page?output=ckjson';
config.image2_alignClasses = ['left', 'center', 'right'];
+ config.image2_prefillDimensions = false;
config.image2_disableResizer = true;
config.stylesSet = [
{ name: 'Paginakop', element: 'h2' },
@@ -142,7 +155,7 @@ CKEDITOR.on('instanceCreated', function (event) {
{ name: 'Uitgelogd', element: 'span', attributes: { 'class': 'logout' } },
];
config.pasteFilter = pastefilter;
- config.contentsCss = document.styleSheets[0].href;
+ config.contentsCss = [...document.styleSheets].map(e => e.href).filter(Boolean);
config.toolbar = [
['Inlinesave', '-', 'Undo', 'Redo'],
['Styles', 'Bold', 'Italic', 'Link'],
@@ -171,8 +184,12 @@ CKEDITOR.on('instanceCreated', function (event) {
if (pagebody) {
// add edit link to menu
- var editlink = document.querySelector('a[href="#edit"]');
- if (editlink)
+ var editdiv = document.querySelector('header .login > p');
+ if (!editdiv) return;
+ var editlink = editdiv.appendChild(document.createElement('a'));
+ editlink.append('\u270D');
+ editlink.className = 'icon icon-edit';
+ editlink.href = '#edit';
editlink.onclick = function (e) {
editlink.style.fontWeight = 'bold';
editlink.href = '';
@@ -198,6 +215,7 @@ if (pagebody) {
}
+var ckesrc = document.currentScript.getAttribute('data-ckesrc');
document.addEventListener('DOMContentLoaded', function (e) {
pagebody = editorcontents().cloneNode(true);
var editorinc = document.createElement('script');