Fossil SCM

Make browsers insert <p> instead of <div> on enter.

vor0nwe 2018-10-30 14:59 vor0nwe-wiki-wysiwyg
Commit 4bfd89a38efdb767371e1a13710d63d4d099a2ef89f25b5e2861c0ad58a7e3ae
1 file changed +7 -6
+7 -6
--- src/wysiwyg.c
+++ src/wysiwyg.c
@@ -151,11 +151,11 @@
151151
@ data-format="insertorderedlist"
152152
@ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAADljwliE35GjuaezxtHa7P////
153153
@ ///yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKSespwjoRFvggCBUBoTFBeq6QIAysQnRHaEO
154154
@ zyaZ07Lu9lUBnC0UGQU1K52s6n5oEADs=" />
155155
156
- @ <img class="intLink" title="Dotted list"
156
+ @ <img class="intLink" title="Dotted list"
157157
@ data-format="insertunorderedlist"
158158
@ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv////
159159
@ ///yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud6
160160
@ 4UwiuKnigGQliQuWOyKQykgAAOw==" />
161161
@@ -218,15 +218,16 @@
218218
@ /* Initialize the document editor */
219219
@ function initDoc() {
220220
@ initEventHandlers();
221221
@ oDoc = document.getElementById("wysiwygBox");
222222
@ if (!isWysiwyg()) { setDocMode(true); }
223
+ @ document.execCommand("defaultParagraphSeparator", false, "p");
223224
@ }
224225
@
225226
@ function initEventHandlers() {
226227
@ document.querySelector('form').onsubmit = wysiwygSubmit;
227
- @ document.querySelector('#editMode').onchange = function() {
228
+ @ document.querySelector('#editMode').onchange = function() {
228229
@ setDocMode(this.selectedIndex)
229230
@ };
230231
@ var controls = document.querySelectorAll('select.format');
231232
@ for(var i = 0; i < controls.length; i++) {
232233
@ controls[i].onchange = handleDropDown;
@@ -233,16 +234,16 @@
233234
@ }
234235
@ controls = document.querySelectorAll('.intLink');
235236
@ for(i = 0; i < controls.length; i++) {
236237
@ controls[i].onclick = handleFormatButton;
237238
@ }
238
- @
239
+ @
239240
@ function handleDropDown() {
240241
@ formatDoc(this.dataset.format,this[this.selectedIndex].value);
241242
@ this.selectedIndex = 0;
242243
@ }
243
- @
244
+ @
244245
@ function handleFormatButton() {
245246
@ var extra;
246247
@ switch (this.dataset.format) {
247248
@ case 'createlink':
248249
@ var url = getSelectedUrl();
@@ -255,11 +256,11 @@
255256
@ extra = 'blockquote';
256257
@ break;
257258
@ }
258259
@ formatDoc(this.dataset.format, extra);
259260
@ }
260
- @
261
+ @
261262
@ function getSelectedUrl() {
262263
@ if (!window.getSelection) return;
263264
@ var sel = window.getSelection();
264265
@ if (!sel) return;
265266
@ return getNodeUrl(sel.focusNode) || getNodeUrl(sel.anchorNode);
@@ -268,11 +269,11 @@
268269
@ while (node) {
269270
@ if (node.nodeName === 'A') return node.getAttribute('href');
270271
@ node = node.parentElement;
271272
@ }
272273
@ }
273
- @
274
+ @
274275
@ }
275276
@
276277
@ /* Return true if the document editor is in WYSIWYG mode. Return
277278
@ ** false if it is in Markup mode */
278279
@ function isWysiwyg() {
279280
--- src/wysiwyg.c
+++ src/wysiwyg.c
@@ -151,11 +151,11 @@
151 @ data-format="insertorderedlist"
152 @ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAADljwliE35GjuaezxtHa7P////
153 @ ///yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKSespwjoRFvggCBUBoTFBeq6QIAysQnRHaEO
154 @ zyaZ07Lu9lUBnC0UGQU1K52s6n5oEADs=" />
155
156 @ <img class="intLink" title="Dotted list"
157 @ data-format="insertunorderedlist"
158 @ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv////
159 @ ///yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud6
160 @ 4UwiuKnigGQliQuWOyKQykgAAOw==" />
161
@@ -218,15 +218,16 @@
218 @ /* Initialize the document editor */
219 @ function initDoc() {
220 @ initEventHandlers();
221 @ oDoc = document.getElementById("wysiwygBox");
222 @ if (!isWysiwyg()) { setDocMode(true); }
 
223 @ }
224 @
225 @ function initEventHandlers() {
226 @ document.querySelector('form').onsubmit = wysiwygSubmit;
227 @ document.querySelector('#editMode').onchange = function() {
228 @ setDocMode(this.selectedIndex)
229 @ };
230 @ var controls = document.querySelectorAll('select.format');
231 @ for(var i = 0; i < controls.length; i++) {
232 @ controls[i].onchange = handleDropDown;
@@ -233,16 +234,16 @@
233 @ }
234 @ controls = document.querySelectorAll('.intLink');
235 @ for(i = 0; i < controls.length; i++) {
236 @ controls[i].onclick = handleFormatButton;
237 @ }
238 @
239 @ function handleDropDown() {
240 @ formatDoc(this.dataset.format,this[this.selectedIndex].value);
241 @ this.selectedIndex = 0;
242 @ }
243 @
244 @ function handleFormatButton() {
245 @ var extra;
246 @ switch (this.dataset.format) {
247 @ case 'createlink':
248 @ var url = getSelectedUrl();
@@ -255,11 +256,11 @@
255 @ extra = 'blockquote';
256 @ break;
257 @ }
258 @ formatDoc(this.dataset.format, extra);
259 @ }
260 @
261 @ function getSelectedUrl() {
262 @ if (!window.getSelection) return;
263 @ var sel = window.getSelection();
264 @ if (!sel) return;
265 @ return getNodeUrl(sel.focusNode) || getNodeUrl(sel.anchorNode);
@@ -268,11 +269,11 @@
268 @ while (node) {
269 @ if (node.nodeName === 'A') return node.getAttribute('href');
270 @ node = node.parentElement;
271 @ }
272 @ }
273 @
274 @ }
275 @
276 @ /* Return true if the document editor is in WYSIWYG mode. Return
277 @ ** false if it is in Markup mode */
278 @ function isWysiwyg() {
279
--- src/wysiwyg.c
+++ src/wysiwyg.c
@@ -151,11 +151,11 @@
151 @ data-format="insertorderedlist"
152 @ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAADljwliE35GjuaezxtHa7P////
153 @ ///yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKSespwjoRFvggCBUBoTFBeq6QIAysQnRHaEO
154 @ zyaZ07Lu9lUBnC0UGQU1K52s6n5oEADs=" />
155
156 @ <img class="intLink" title="Dotted list"
157 @ data-format="insertunorderedlist"
158 @ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv////
159 @ ///yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud6
160 @ 4UwiuKnigGQliQuWOyKQykgAAOw==" />
161
@@ -218,15 +218,16 @@
218 @ /* Initialize the document editor */
219 @ function initDoc() {
220 @ initEventHandlers();
221 @ oDoc = document.getElementById("wysiwygBox");
222 @ if (!isWysiwyg()) { setDocMode(true); }
223 @ document.execCommand("defaultParagraphSeparator", false, "p");
224 @ }
225 @
226 @ function initEventHandlers() {
227 @ document.querySelector('form').onsubmit = wysiwygSubmit;
228 @ document.querySelector('#editMode').onchange = function() {
229 @ setDocMode(this.selectedIndex)
230 @ };
231 @ var controls = document.querySelectorAll('select.format');
232 @ for(var i = 0; i < controls.length; i++) {
233 @ controls[i].onchange = handleDropDown;
@@ -233,16 +234,16 @@
234 @ }
235 @ controls = document.querySelectorAll('.intLink');
236 @ for(i = 0; i < controls.length; i++) {
237 @ controls[i].onclick = handleFormatButton;
238 @ }
239 @
240 @ function handleDropDown() {
241 @ formatDoc(this.dataset.format,this[this.selectedIndex].value);
242 @ this.selectedIndex = 0;
243 @ }
244 @
245 @ function handleFormatButton() {
246 @ var extra;
247 @ switch (this.dataset.format) {
248 @ case 'createlink':
249 @ var url = getSelectedUrl();
@@ -255,11 +256,11 @@
256 @ extra = 'blockquote';
257 @ break;
258 @ }
259 @ formatDoc(this.dataset.format, extra);
260 @ }
261 @
262 @ function getSelectedUrl() {
263 @ if (!window.getSelection) return;
264 @ var sel = window.getSelection();
265 @ if (!sel) return;
266 @ return getNodeUrl(sel.focusNode) || getNodeUrl(sel.anchorNode);
@@ -268,11 +269,11 @@
269 @ while (node) {
270 @ if (node.nodeName === 'A') return node.getAttribute('href');
271 @ node = node.parentElement;
272 @ }
273 @ }
274 @
275 @ }
276 @
277 @ /* Return true if the document editor is in WYSIWYG mode. Return
278 @ ** false if it is in Markup mode */
279 @ function isWysiwyg() {
280

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button