mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-27 15:50:29 +00:00
94c4d619a7
The need for something like this was anticipated in I2bf43c7e83283f43e047229eb53c244918fcbb0c. As of version 2.5.0 of Parsoid's output, if alternate text is missing for an image but a caption is present and image isn't displaying the caption (ie. it isn't a thumb or frame), then the text content of the caption will be set as the alt attribute. Parsoid will then drop the alt attribute when serializing if it matches the caption text, since it's unnecessary. However, if the caption is modified and the alt text isn't, the alt will be serialized. This is likely to be unexpected to editor. They may have missed that the both the caption and alt are populated in VE and only edited one place. Since all of the above is happening only for images where the caption isn't visible, it doesn't appear to be a much used feature since, at least for inline images, the experience of caption editing was already less than optimal. However, because of a quirk in how galleries are rendered in Parsoid, this affects gallery caption editing, which is visible and presumably used more often. See T268250 for a discussion on an improved gallery structure. But for now, gallery images are effectively inline and set the alternate text, thus subject to the above. Here we add a checkbox so that the default is to ignore the alt if it's the same as the caption. And only make use of it if it differed originally or was explicitly unchecked to modify. Bug: T311677 Change-Id: Idf297d8a98995971c5835b0cea56c3317a3626e2 |
||
---|---|---|
.jsduck | ||
.phan | ||
.vscode | ||
bin | ||
build | ||
i18n | ||
images | ||
includes | ||
lib | ||
maintenance | ||
modules | ||
screenshots | ||
tests | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
.gitreview | ||
.mailmap | ||
.phpcs.xml | ||
.stylelintrc.json | ||
AUTHORS.txt | ||
composer.json | ||
CONTRIBUTING.md | ||
extension.json | ||
Gruntfile.js | ||
jsduck.json | ||
LICENSE.txt | ||
package-lock.json | ||
package.json | ||
Rakefile | ||
README.md | ||
VisualEditor.i18n.alias.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.
Terminology
- Apex: See https://www.mediawiki.org/wiki/Skin:Apex
- 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