Go to file
Ed Sanders 7cec9ae04a Rich paste
Allow pasting of rich (HTML) content.

ve.ce.Surface
* Use a sliced document clone for converting to DM HTML (copy)
* Add full context to pasteTarget before copying
* Add ve-pasteProtect class to spans to prevent them being dropped
* Implement external paste by converting HTML to data and inserting
  with newFromDocumentInsertion
* Remove clipboard key placeholder after read so they aren't picked
  up by rich paste. Hash no longer includes the placeholder.
* Detect the corruption of important spans and fallback to clipboard
  data HTML if available.

ve.dm.LinearData
* Add clone method for copy

ve.dm.ElementLinearData
* Add compareUnannotated for use by context diffing.
* Add sanitize method for cleaning data according to a set of rules.

ve.dm.Transaction
* Add range parameter for inserting a range of a document only,
  e.g. stripping the paste context.

ve.dm.Document
* Implement sliced document clone creation so that DM HTML
  is generated correctly in onCopy

ve.dm.DocumentSlice
* Replaces LinearDataSlice. Now has two ranges for balanced data
  and data with a full context.

ve.init.Target.js
* Define default, loose, paste rules (just remove aliens).

ve.init.mw.ViewPageTarget
* Define strict MW paste rules:
  + no links, spans, underlines
  + no images, divs, aliens
  + strip extra HTML attribues

ve.init.sa.Target, ve.init.mw.ViewPageTarget, ve.ui.Surface
* Pass through and store paste rules.

Bug: 41193
Bug: 48170
Bug: 50128
Bug: 53828
Change-Id: I38d63e31ee3e3ee11707e3fffed5174e1d633b42
2013-11-26 18:23:12 +00:00
.docs Rich paste 2013-11-26 18:23:12 +00:00
bin Add bin/ directory with updateStaticLoaders and generateDocs 2013-10-22 23:51:51 +02:00
demos Rich paste 2013-11-26 18:23:12 +00:00
maintenance Replace raw oojs-ui files with v0.1.0-pre (0267100ab3) 2013-11-20 10:27:48 +05:30
modules Rich paste 2013-11-26 18:23:12 +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 Replace raw oojs-ui files with v0.1.0-pre (0267100ab3) 2013-11-20 10:27:48 +05:30
.jshintrc oojs: Integrate with OOJS v1.0.0 2013-06-06 17:29:55 +02:00
ApiVisualEditor.php Support private wikis by forwarding Cookie: headers to Parsoid 2013-11-01 11:14:04 -07:00
ApiVisualEditorEdit.php Set 'notminor' if minor edit box not checked 2013-07-24 15:07:05 +01:00
AUTHORS.txt Add Moriel Schottlender to AUTHORS.txt and authors string 2013-10-23 11:24:03 -07:00
betafeatures-icon-VisualEditor-formulae-ltr.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
betafeatures-icon-VisualEditor-formulae-rtl.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
betafeatures-icon-VisualEditor-ltr.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
betafeatures-icon-VisualEditor-rtl.svg Adapt beta features icons for RTL 2013-11-08 18:33:53 +02:00
CONTRIBUTING.md doc: Get rid of 'static' property container in jsduck index 2013-11-19 10:21:39 +00:00
Gruntfile.js Replace raw oojs-ui files with v0.1.0-pre (0267100ab3) 2013-11-20 10:27:48 +05:30
LICENSE.txt
package.json Updates to README.md and CODING.md 2013-09-17 19:09:25 -04:00
README.md Updates to README.md and CODING.md 2013-09-17 19:09:25 -04:00
VisualEditor.hooks.php Use __DIR__ instead of dirname( __FILE__ ) 2013-11-20 09:39:02 +00:00
VisualEditor.i18n.php Localisation updates from http://translatewiki.net. 2013-11-19 20:17:07 +00:00
VisualEditor.php Rich paste 2013-11-26 18:23:12 +00:00
VisualEditorDataModule.php Clean up VisualEditorDataModule and document ve.version 2013-09-18 03:40:00 +02: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 running tests and contributing code to VisualEditor, see CODING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for the VisualEditor.