Go to file
Ed Sanders d06e9dbc31 Update VE core submodule to master (0e82a6db8)
New changes:
db0f21d03 ve.ce.Surface: Check dataTransfer.files is non-empty
e1cd78933 [BREAKING CHANGE] Move selection handling code to SelectionManager
b4b63a463 Move drag/drop handling code to DragDropHandler
540272769 Use the onPaste handler for dropped content
d3f9d8485 ClipboardHandler tests: Run tests in series
1232c0420 Tests: Introduce ve.dm.example.annotateText to simplify runs of annotated text
69d7ca482 Apply an annotation to imported (pasted/dropped) text
0e82a6db8 ve.ce.ClipboardHandler: Fix async test running

Added files:
- src/ce/annotations/ve.ce.ImportedDataAnnotation.js
- src/ce/ve.ce.DragDropHandler.js
- src/ce/ve.ce.SelectionManager.js
- src/dm/annotations/ve.dm.ImportedDataAnnotation.js
- tests/ce/ve.ce.DragDropHandler.test.js

Local changes:
- Implement new selection manager architecture

Added files:
- src/ce/annotations/ve.ce.ImportedDataAnnotation.js
- src/ce/ve.ce.DragDropHandler.js
- src/ce/ve.ce.SelectionManager.js
- src/dm/annotations/ve.dm.ImportedDataAnnotation.js
- tests/ce/ve.ce.DragDropHandler.test.js

Bug: T371996
Bug: T377427
Bug: T78696
Change-Id: If8d38246badf919c32915beda7c9a14f16e62a8a
2024-10-30 17:52:56 +00:00
.phan Use namespaced classes 2024-06-10 22:36:31 +02:00
bin updateSubmodule: Handle modified i18n keys 2024-06-20 14:47:07 +01:00
build build: Updating eslint-config-wikimedia to 0.28.0 2024-06-04 03:40:00 +00:00
editcheck Update VE core submodule to master (0e82a6db8) 2024-10-30 17:52:56 +00:00
i18n Localisation updates from https://translatewiki.net. 2024-10-30 08:24:59 +01:00
images ve.collab: Create BetaFeature 2024-03-07 00:45:39 +08:00
includes Use explicit nullable type on parameter arguments (for PHP 8.4) 2024-10-26 15:18:36 +02:00
lib Update VE core submodule to master (0e82a6db8) 2024-10-30 17:52:56 +00:00
modules Update VE core submodule to master (0e82a6db8) 2024-10-30 17:52:56 +00:00
screenshots Add screenshots grunt task for taking documentation screenshots 2016-06-27 12:19:35 +01:00
tests Use namespaced classes 2024-10-20 14:01:32 +02:00
.eslintignore Implement add a reference edit check 2023-08-16 17:19:28 +01:00
.eslintrc.json Add basic end-to-end tests for action=visualeditor 2022-09-28 18:28:05 +02:00
.gitignore .gitignore: Add .vscode directory to .gitignore 2023-05-16 12:50:51 +01:00
.gitmodules .gitmodules: Update gerrit URI syntax, deprecated ages ago, now unsupported 2019-03-19 16:49:03 +00:00
.gitreview .gitreview: swapping defaultbranch for track 2016-10-25 10:58:48 +02:00
.mailmap Update Legoktm's mailmap entry 2021-04-11 19:18:33 -07:00
.phpcs.xml build: Move exclude from composer.json to .phpcs.xml 2024-10-18 20:26:46 +02:00
.stylelintrc.json build: Update stylelint-config-wikimedia 2023-08-21 16:06:40 +01:00
AUTHORS.txt Move verbose copyright message to AUTHORS.txt 2023-12-01 16:07:39 +00:00
composer.json build: Move exclude from composer.json to .phpcs.xml 2024-10-18 20:26:46 +02:00
CONTRIBUTING.md doc: Bump copyright year for 2020 2020-01-08 09:13:24 -08:00
extension.json Update VE core submodule to master (0e82a6db8) 2024-10-30 17:52:56 +00:00
Gruntfile.js build: Updating eslint-config-wikimedia to 0.28.0 2024-06-04 03:40:00 +00:00
jsdoc.json Update jsdoc-wmf-theme to 1.1.0 2024-06-26 12:07:04 +01:00
LICENSE.txt doc: Bump copyright year for 2020 2020-01-08 09:13:24 -08:00
package-lock.json build: Updating micromatch to 4.0.8 2024-08-31 09:05:56 +00:00
package.json Update jsdoc-wmf-theme to 1.1.0 2024-06-26 12:07:04 +01:00
README.md Readme: Mark links, as JSDoc doesn't autolink 2024-04-30 13:29:26 +01:00
VisualEditor.i18n.alias.php doc: Bump copyright year for 2020 2020-01-08 09:13:24 -08: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 CONTRIBUTING.md. Patch submissions are reviewed and managed with Gerrit. There is also API documentation available for VisualEditor.

Terminology

  • CE: ContentEditable
  • DM: Data model
  • Invocation: Here the act of calling a template from a page, visible as e.g. {{reflist}} in the wikitext.
  • MW: MediaWiki
  • Page: See https://www.mediawiki.org/wiki/OOUI/Layouts/Booklets_and_Pages
  • Parameter: A template parameter. Can be known (i.e. documented via TemplateData) or unknown.
  • Part: A template-level entity in a transclusion, i.e. either a template, template placeholder, or wikitext snippet.
  • SA: Standalone
  • Template: See https://www.mediawiki.org/wiki/Help:Templates
  • Transclusion: A sequence of one or more template invocations, possibly mixed with raw wikitext snippets.
  • UI: User interface
  • VE: VisualEditor
  • WT: Wikitext