Page MenuHomePhabricator

HTML comments inside galleries cause images not to be rendered
Open, LowPublic

Description

Author: bugs

Description:
This doesn't work:

<gallery>
Image:foo.jpg <-- image taken from www.source.com -->
</gallery>

Seems useful and should work.


Version: 1.20.x
Severity: minor

Details

Reference
bz16057
Related Changes in Gerrit:

Event Timeline

bzimport raised the priority of this task from to Low.Nov 21 2014, 10:16 PM
bzimport added a project: MediaWiki-Parser.
bzimport set Reference to bz16057.
bzimport added a subscriber: Unknown Object (MLST).

Try:

<gallery>
Image:foo.jpg| <!-- image taken from www.source.com -->
</gallery>

Notice the vertical bar/pipe (|) and the exclamation mark (!).

bugs wrote:

Interesting - that's sort of a workaround, in that you're specifying a blank caption. It still seems like some kind of bug/limitation (is there anywhere else that <!-- comments --> aren't allowed?) but not severe.

Change 532249 had a related patch set uploaded (by D3r1ck01; owner: Derick Alangi):
[mediawiki/core@master] parser: Strip off HTML comments from/beside image name

https://gerrit.wikimedia.org/r/532249

Change 532249 abandoned by D3r1ck01:
parser: Strip off HTML comments from/beside image name

Reason:
Per discussion with Krinkle

https://gerrit.wikimedia.org/r/532249

Editors need comments to work not only for explicit comments, but also to "comment out" snips of markup. This does work, but a comment opened with <!-- automatically ends at the next newline, instead of ending at the next -->. Also, it seems that the linter treats comments as markup and flags lint errors within comments. It seems to me the solution is very simple. First you remove comments according to the rules of HTML. Then you proceed with linter and gallery operations.

FYI, MediaWiki-extensions-CodeMirror (the "Improved Syntax Highlighting" beta featute) is helpful when trying to conform to the current gallery parser. It highlights HTML comments as part of the image name when the syntax is not supported.