git.shiar.nl
/
minimedit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
edit: leave standalone placeholders as is
[minimedit.git]
/
edit.js
diff --git
a/edit.js
b/edit.js
index b331cf7d86d887fa4229db566189a60946c4dc36..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();
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>');
body = body.replace(/<br \/>\s*<br \/>/g, '<p>');
+ // wrap long line after each sentence
body = body.replace(/^(\t*).{73,}/mg, function (line, indent) {
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');
});
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);
var data = 'body='+encodeURIComponent(body);
ajaxpost = new XMLHttpRequest();
ajaxpost.open('POST', '/edit'+pagename, true);
@@
-80,14
+84,18
@@
CKEDITOR.on('instanceCreated', function (event) {
config.uploadUrl = '/edit?output=ckjson';
config.image2_alignClasses = ['left', 'center', 'right'];
config.image2_disableResizer = true;
config.uploadUrl = '/edit?output=ckjson';
config.image2_alignClasses = ['left', 'center', 'right'];
config.image2_disableResizer = true;
+ config.stylesSet = [
+ { name: 'Kolom', element: 'div', attributes: { 'class': 'col' } },
+ { name: 'Rechts', element: 'div', attributes: { 'class': 'right' } },
+ ];
config.pasteFilter = pastefilter;
config.contentsCss = document.styleSheets[0].href;
config.toolbar = [
['Inlinesave', '-', 'Undo', 'Redo'],
config.pasteFilter = pastefilter;
config.contentsCss = document.styleSheets[0].href;
config.toolbar = [
['Inlinesave', '-', 'Undo', 'Redo'],
- ['Format', 'BulletedList', 'NumberedList', 'Blockquote'],
+ ['Format', 'BulletedList', 'NumberedList', 'CreateDiv', 'Table', 'Blockquote'],
+ ['HorizontalRule', 'CreatePlaceholder', 'Image'],
['Bold', 'Italic', 'Link'],
['Bold', 'Italic', 'Link'],
- ['HorizontalRule', 'Table', 'Image'],
- ['CreatePlaceholder', 'Sourcedialog'],
+ ['Sourcedialog'],
];
config.toolbarCanCollapse = true;
config.floatSpacePreferRight = true;
];
config.toolbarCanCollapse = true;
config.floatSpacePreferRight = true;