Fossil SCM
Make browsers insert <p> instead of <div> on enter.
Commit
4bfd89a38efdb767371e1a13710d63d4d099a2ef89f25b5e2861c0ad58a7e3ae
Parent
3bf27c4c61ea9d0…
1 file changed
+7
-6
+7
-6
| --- src/wysiwyg.c | ||
| +++ src/wysiwyg.c | ||
| @@ -151,11 +151,11 @@ | ||
| 151 | 151 | @ data-format="insertorderedlist" |
| 152 | 152 | @ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAADljwliE35GjuaezxtHa7P//// |
| 153 | 153 | @ ///yH5BAEAAAcALAAAAAAWABYAAAM2eLrc/jDKSespwjoRFvggCBUBoTFBeq6QIAysQnRHaEO |
| 154 | 154 | @ zyaZ07Lu9lUBnC0UGQU1K52s6n5oEADs=" /> |
| 155 | 155 | |
| 156 | - @ <img class="intLink" title="Dotted list" | |
| 156 | + @ <img class="intLink" title="Dotted list" | |
| 157 | 157 | @ data-format="insertunorderedlist" |
| 158 | 158 | @ src="data:image/gif;base64,R0lGODlhFgAWAMIGAAAAAB1ChF9vj1iE33mOrqezxv//// |
| 159 | 159 | @ ///yH5BAEAAAcALAAAAAAWABYAAAMyeLrc/jDKSesppNhGRlBAKIZRERBbqm6YtnbfMY7lud6 |
| 160 | 160 | @ 4UwiuKnigGQliQuWOyKQykgAAOw==" /> |
| 161 | 161 | |
| @@ -218,15 +218,16 @@ | ||
| 218 | 218 | @ /* Initialize the document editor */ |
| 219 | 219 | @ function initDoc() { |
| 220 | 220 | @ initEventHandlers(); |
| 221 | 221 | @ oDoc = document.getElementById("wysiwygBox"); |
| 222 | 222 | @ if (!isWysiwyg()) { setDocMode(true); } |
| 223 | + @ document.execCommand("defaultParagraphSeparator", false, "p"); | |
| 223 | 224 | @ } |
| 224 | 225 | @ |
| 225 | 226 | @ function initEventHandlers() { |
| 226 | 227 | @ document.querySelector('form').onsubmit = wysiwygSubmit; |
| 227 | - @ document.querySelector('#editMode').onchange = function() { | |
| 228 | + @ document.querySelector('#editMode').onchange = function() { | |
| 228 | 229 | @ setDocMode(this.selectedIndex) |
| 229 | 230 | @ }; |
| 230 | 231 | @ var controls = document.querySelectorAll('select.format'); |
| 231 | 232 | @ for(var i = 0; i < controls.length; i++) { |
| 232 | 233 | @ controls[i].onchange = handleDropDown; |
| @@ -233,16 +234,16 @@ | ||
| 233 | 234 | @ } |
| 234 | 235 | @ controls = document.querySelectorAll('.intLink'); |
| 235 | 236 | @ for(i = 0; i < controls.length; i++) { |
| 236 | 237 | @ controls[i].onclick = handleFormatButton; |
| 237 | 238 | @ } |
| 238 | - @ | |
| 239 | + @ | |
| 239 | 240 | @ function handleDropDown() { |
| 240 | 241 | @ formatDoc(this.dataset.format,this[this.selectedIndex].value); |
| 241 | 242 | @ this.selectedIndex = 0; |
| 242 | 243 | @ } |
| 243 | - @ | |
| 244 | + @ | |
| 244 | 245 | @ function handleFormatButton() { |
| 245 | 246 | @ var extra; |
| 246 | 247 | @ switch (this.dataset.format) { |
| 247 | 248 | @ case 'createlink': |
| 248 | 249 | @ var url = getSelectedUrl(); |
| @@ -255,11 +256,11 @@ | ||
| 255 | 256 | @ extra = 'blockquote'; |
| 256 | 257 | @ break; |
| 257 | 258 | @ } |
| 258 | 259 | @ formatDoc(this.dataset.format, extra); |
| 259 | 260 | @ } |
| 260 | - @ | |
| 261 | + @ | |
| 261 | 262 | @ function getSelectedUrl() { |
| 262 | 263 | @ if (!window.getSelection) return; |
| 263 | 264 | @ var sel = window.getSelection(); |
| 264 | 265 | @ if (!sel) return; |
| 265 | 266 | @ return getNodeUrl(sel.focusNode) || getNodeUrl(sel.anchorNode); |
| @@ -268,11 +269,11 @@ | ||
| 268 | 269 | @ while (node) { |
| 269 | 270 | @ if (node.nodeName === 'A') return node.getAttribute('href'); |
| 270 | 271 | @ node = node.parentElement; |
| 271 | 272 | @ } |
| 272 | 273 | @ } |
| 273 | - @ | |
| 274 | + @ | |
| 274 | 275 | @ } |
| 275 | 276 | @ |
| 276 | 277 | @ /* Return true if the document editor is in WYSIWYG mode. Return |
| 277 | 278 | @ ** false if it is in Markup mode */ |
| 278 | 279 | @ function isWysiwyg() { |
| 279 | 280 |
| --- 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 |