Go to file
Bartosz Dziewoński ae8b0a1f36 Replace $wgVisualEditorSupportedSkins with a check for required elements
The bare minimum of elements that must be present on the page for
VisualEditor to start and mostly work is:

* '#content' to attach our interface (toolbar etc.)
* '#mw-content-text' to replace with the editing surface
* '#ca-edit' to start up the editor

When those elements are missing (and we expect them to be present,
e.g. we're not on a special page), we print a console warning.

For example, VisualEditor now launches on Timeless and CologneBlue.
It does not launch and prints a warning on Modern and Erudite.
(It is actually possible to edit and save pages on CologneBlue,
although various pieces of the interface look funny.)

This does not change which skins we claim to support: these are still
currently only Vector, MonoBook and Apex. But it allows third-party
skin developers to more easily test the editor and fiddle with their
CSS to make it look right.

Bug: T161373
Change-Id: I97c786f3c8c795c238b10bef332a129ea26f86c2
2017-03-29 18:13:05 +00:00
.jsduck Update VE core submodule to master (ef5dc965f) 2017-03-16 12:42:42 -07:00
bin Merge "Add a clean-up script for use as a pre-commit hook" 2015-09-14 00:33:31 +00:00
build VisualDiff automated screenshots 2017-03-28 22:43:02 +01:00
lib Update VE core submodule to master (495cd7d65) 2017-03-28 10:50:20 -04:00
modules Replace $wgVisualEditorSupportedSkins with a check for required elements 2017-03-29 18:13:05 +00:00
screenshots Add screenshots grunt task for taking documentation screenshots 2016-06-27 12:19:35 +01:00
.eslintrc.json eslint: Re-enable wrap-iife and partially enable dot-notation 2016-11-12 14:43:43 +00:00
.gitignore Add .idea to .gitignore 2017-01-27 13:16:58 +01:00
.gitmodules Use submodule for VisualEditor core 2013-12-20 09:18:41 +00:00
.gitreview .gitreview: swapping defaultbranch for track 2016-10-25 10:58:48 +02:00
.mailmap .mailmap: Add some extra addresses and change default for rmoen 2015-11-30 12:56:01 -08:00
.rubocop.yml [BrowserTest] Fix ve.init is undefined error messages in Selenium tests 2016-02-18 15:42:05 +01:00
.rubocop_todo.yml [BrowserTest] Fix ve.init is undefined error messages in Selenium tests 2016-02-18 15:42:05 +01:00
.stylelintrc build: Use grunt-stylelint from npm 2016-05-17 16:24:39 +01:00
ApiVisualEditor.php Bypass warming red link cache for wikitext requests 2017-01-14 13:42:27 -08:00
ApiVisualEditorEdit.php Replace deprecated Context::getStats() with MWServices::getStatsdDataFactory() 2017-03-17 12:20:35 +01:00
AUTHORS.txt AUTHORS.txt: Be more strict about 'principal' authors and update addresses 2015-11-30 12:56:02 -08:00
autodisablePref.php build: Bump file copyright notices for 2017 2017-01-03 08:58:33 -08:00
betafeatures-icon-VisualEditor-ltr.svg Update beta feature screenshots to use proper layout and colours 2016-10-12 16:39:27 -07:00
betafeatures-icon-VisualEditor-rtl.svg Update beta feature screenshots to use proper layout and colours 2016-10-12 16:39:27 -07:00
betafeatures-icon-WikitextEditor-ltr.svg Update beta feature screenshots to use proper layout and colours 2016-10-12 16:39:27 -07:00
betafeatures-icon-WikitextEditor-rtl.svg Update beta feature screenshots to use proper layout and colours 2016-10-12 16:39:27 -07:00
composer.json build: Updating mediawiki/mediawiki-codesniffer to 0.7.2 2016-05-27 18:26:36 -07:00
CONTRIBUTING.md Add a clean-up script for use as a pre-commit hook 2015-07-03 01:57:03 +00:00
extension.json Replace $wgVisualEditorSupportedSkins with a check for required elements 2017-03-29 18:13:05 +00:00
Gemfile Update tests to Selenium 3 2017-02-28 14:39:00 +01:00
Gemfile.lock Update tests to Selenium 3 2017-02-28 14:39:00 +01:00
Gruntfile.js VisualDiff automated screenshots 2017-03-28 22:43:02 +01:00
jsduck.json Update VE core submodule to master (977d3ad) 2016-10-31 17:35:46 -04:00
LICENSE.txt build: Bump file copyright notices for 2017 2017-01-03 08:58:33 -08:00
package.json build: Bump grunt-jsonlint to latest and make pass 2017-02-17 16:12:12 -08:00
phpcs.xml build: Alter settings to force utf-8 and allow .php5/.inc extensions 2015-09-28 23:11:06 +00:00
Rakefile [BrowserTest] Migration of browsertests* Jenkins jobs to selenium* jobs 2016-04-26 12:40:45 +02:00
README.md README: Add devDependencies badge 2014-09-16 13:39:31 -07:00
VisualEditor.hooks.php Replace $wgVisualEditorSupportedSkins with a check for required elements 2017-03-29 18:13:05 +00:00
VisualEditor.php build: Bump file copyright notices for 2017 2017-01-03 08:58:33 -08:00
VisualEditorDataModule.php build: Bump file copyright notices for 2017 2017-01-03 08:58:33 -08:00
VisualEditorDesktopArticleTargetInitModule.php build: Bump file copyright notices for 2017 2017-01-03 08:58:33 -08:00

devDependency Status

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 CONTRIBUTING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for the VisualEditor.