Go to file
C. Scott Ananian 5095e27925 Collapse metadata on any removal.
In ve.dm.Document.getMetadataReplace(), we used to only merge metadata
if the amount removed is larger than the amount inserted.  But this
could end up putting metadata in odd positions, for example if you
have Foo[[Category:Bar]]Baz and you delete 'ooBa' and replace it with
{image}xxx{/image}, then the category ends up inside the image.

We should always merge metadata when a segment is deleted, so that it
appears outside any new structure added.

There's a weird corner case here when a segment is removed but no
insertion is made: the removed metadata then needs to get glommed onto
the next element.  We extend the insert/replace metadata array
when this happens.

Bug: 53444
Bug: 53445
Change-Id: I51d55fb370b473273f9cf152fdd0f356377d4109
2013-09-01 11:00:51 -04:00
.docs Add ve.ui.ToolGroup and use within toolbar setup 2013-08-07 05:08:20 +00:00
demos Add ULS to the standalone 2013-08-28 17:35:37 -07:00
maintenance Add ULS to the standalone 2013-08-28 17:35:37 -07:00
modules Collapse metadata on any removal. 2013-09-01 11:00:51 -04: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 Set defaultrebase=0 2012-06-20 16:27:40 -07:00
.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 Matma Rex to AUTHORS.txt 2013-04-26 16:13:58 -07:00
CODING.md Document and clean up events in all the things 2013-03-20 09:58:27 -07:00
Gruntfile.js grunt: Also delete QUnit temp files when test fails 2013-06-17 11:27:52 -07:00
LICENSE.txt Bump copyright year range to 2013 in the licence file 2013-03-18 09:55:57 -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 Use internal ve.track to log events 2013-08-15 19:43:36 +00:00
VisualEditor.i18n.php Localisation updates from http://translatewiki.net. 2013-08-26 19:43:33 +00:00
VisualEditor.php Actually move the experimental LanguageInspector messages into the experimental module 2013-08-28 17:25:52 -07:00
VisualEditorMessagesModule.php Prepend section title to edit summary 2013-07-23 22:27:33 +00: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.