Go to file
Roan Kattouw d3af8b877b dm.Surface: Initialize selection at (1,1) instead of (0,0)
Code with a similar purpose was added in 568e0e5701 but got lost
when some things were moved from ve.Surface to ve.ce.Surface in
5012ed10.

Initializing the selection at (0,0) was known to cause problems before,
and since 789d0caf09 breaks editing of empty documents: typing in an
empty document begins in an inline slug, but SurfaceObserver doesn't
notice typing in an inline slug unless the ce.Surface pawns it, which
is OK because insertions in slugs are always pawned, but the pawning
logic believes the cursor to be at offset 0 where there is no slug
(it's at offset 1) and so it doesn't pawn.

Bonus: update tests and add descriptions for dm.Surface.change tests

Change-Id: Id72314d0fe650dacc7cdb842f5cea2f3bfba5145
2013-09-18 01:06:34 +00:00
.docs Merge "ve.EventSequencer: Post-event listening" 2013-09-04 20:08:42 +00:00
demos Scroll into view support 2013-09-16 16:46:58 -07:00
maintenance Add ULS to the standalone 2013-08-28 17:35:37 -07:00
modules dm.Surface: Initialize selection at (1,1) instead of (0,0) 2013-09-18 01:06:34 +00:00
.csslintrc Add .csslintrc file and fix remaining warnings 2013-06-05 11:07:00 +00:00
.gitignore Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
.gitreview
.jshintignore Language Inspector UI 2013-07-29 00:38:59 -04:00
.jshintrc oojs: Integrate with OOJS v1.0.0 2013-06-06 17:29:55 +02:00
ApiVisualEditor.php ve.ce.MWTransclusionNode: Check for API errors 2013-08-03 00:35:42 +02:00
ApiVisualEditorEdit.php Set 'notminor' if minor edit box not checked 2013-07-24 15:07:05 +01:00
AUTHORS.txt Add David to author lists 2013-08-29 11:11:10 -07:00
CODING.md docs: Minor improvements 2013-09-05 23:56:59 +00:00
Gruntfile.js grunt: Also delete QUnit temp files when test fails 2013-06-17 11:27:52 -07:00
LICENSE.txt
logo-experimental.png Integrate with BetaPreferences 2013-09-10 10:20:14 -07:00
logo-experimental.svg Integrate with BetaPreferences 2013-09-10 10:20:14 -07:00
package.json Implement Grunt support (grunt jshint,csslint,qunit,watch) 2013-06-05 11:10:23 +00:00
README.md Spruce up VisualEditor's README file. 2013-08-22 17:04:46 +00:00
VisualEditor.hooks.php Integrate with BetaPreferences 2013-09-10 10:20:14 -07:00
VisualEditor.i18n.php Localisation updates from http://translatewiki.net. 2013-09-17 19:47:21 +00:00
VisualEditor.php Scroll into view support 2013-09-16 16:46:58 -07:00
VisualEditorDataModule.php Expose version information in the client 2013-08-29 18:19:40 -07:00

VisualEditor

VisualEditor provides a visual editor for wiki pages. It is written in JavaScript and runs in a web browser.

It uses the Parsoid parser to convert wikitext documents to annotated HTML which the VisualEditor is able to load, modify and emit back to Parsoid at which point it is converted back into wikitext.

For more information about these projects, check out the VisualEditor and Parsoid pages on mediawiki.

Developing and installing

For information on installing VisualEditor on a local wiki, please see https://www.mediawiki.org/wiki/Extension:VisualEditor

For information about contributing code to VisualEditor, see CODING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for the VisualEditor.