mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-27 04:06:51 +00:00
76caef6b4b
Ensure we start with the same HTML (i.e. if an edit has been made since the crash-recovery): * Whenever an article target is activated, stash the initial document html, other parsoid response data, and the request parameters (pageName, mode, section) in session storage. * Whenever an article is fetched through the target loader, recover from session storage if the request parameters match. Store transactions: * On document transaction (debounced) append the latest changes to session storage. * If a document state is recovered from session storage, attempt to re-apply the stored transactions. Clear transactions: * Whenever the target is torn down (i.e. save, deliberately closing the editor to go back to read mode) Other: * If writing to session storage fails once, disable future attempts for that session (assume storage quota exceeded) * Disable tempWikitextEditor when recovering. We don't have the transaction code loaded yet to perform the recovery. Bug: T57370 Depends-On: I3832243fc347a99641fcb7e39a887a153c9a3b22 Depends-On: I448fb566fe9f7f5b5a76e88b70ca000e3d35b415 Change-Id: Id9d877f903cf4796a52f90991c030417a9f8786f |
||
---|---|---|
.jsduck | ||
bin | ||
build | ||
i18n | ||
images | ||
includes | ||
lib | ||
maintenance | ||
modules | ||
screenshots | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
.gitreview | ||
.mailmap | ||
.phpcs.xml | ||
.rubocop.yml | ||
.rubocop_todo.yml | ||
.stylelintrc.json | ||
AUTHORS.txt | ||
composer.json | ||
CONTRIBUTING.md | ||
extension.json | ||
Gemfile | ||
Gemfile.lock | ||
Gruntfile.js | ||
jsduck.json | ||
LICENSE.txt | ||
package.json | ||
Rakefile | ||
README.md | ||
VisualEditor.i18n.alias.php | ||
VisualEditor.php |
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.