Arlolra has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/365403 )
Change subject: [WIP] T169293: Colon prefixed media links still point to media ...................................................................... [WIP] T169293: Colon prefixed media links still point to media Change-Id: Icf418e8cb2a69db20e0a9ebb5e929a6598b081fb --- M lib/wt2html/tt/LinkHandler.js M tests/parserTests.txt 2 files changed, 16 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid refs/changes/03/365403/1 diff --git a/lib/wt2html/tt/LinkHandler.js b/lib/wt2html/tt/LinkHandler.js index 19aa601..5d68e04 100644 --- a/lib/wt2html/tt/LinkHandler.js +++ b/lib/wt2html/tt/LinkHandler.js @@ -314,18 +314,23 @@ WikiLinkHandler.prototype.getWikiLinkHandler = function(token, target, isRedirect) { var title = target.title; if (title) { - if (!target.fromColonEscapedText && !isRedirect) { + if (isRedirect) { + return this.renderWikiLink.bind(this); + } + if (title.getNamespace().isMedia()) { + // Render as a media link. + return this.renderMedia.bind(this); + } + if (!target.fromColonEscapedText) { if (title.getNamespace().isFile()) { // Render as a file. return this.renderFile.bind(this); - } else if (title.getNamespace().isMedia()) { - return this.renderMedia.bind(this); - } else if (title.getNamespace().isCategory()) { + } + if (title.getNamespace().isCategory()) { // Render as a category membership. return this.renderCategory.bind(this); } } - // Colon-escaped or non-file/category links. // Render as plain wiki links. return this.renderWikiLink.bind(this); @@ -1896,7 +1901,8 @@ link.setShadowInfo('namespace', title.getNamespace().getNormalizedText(), nsText); link.setShadowInfo('fileName', imgHrefFileName, fileName); - var content = token.getAttribute('mw:maybeContent') || token.getAttribute('href'); + var content = Util.tokensToString(token.getAttribute('href')).replace(/^:/, ''); + content = token.getAttribute('mw:maybeContent') || content; cb({ tokens: [ link, content, new EndTagTk('a') ] }); }; diff --git a/tests/parserTests.txt b/tests/parserTests.txt index 9aa7324..be3d3a4 100644 --- a/tests/parserTests.txt +++ b/tests/parserTests.txt @@ -17156,13 +17156,16 @@ !! wikitext [[Media:Foobar.jpg]] [[Media:Video.ogv]] +[[:Media:Video.ogv]] !! html/php <p><a href="http://example.com/images/3/3a/Foobar.jpg" class="internal" title="Foobar.jpg">Media:Foobar.jpg</a> +<a href="http://example.com/images/0/00/Video.ogv" class="internal" title="Video.ogv">Media:Video.ogv</a> <a href="http://example.com/images/0/00/Video.ogv" class="internal" title="Video.ogv">Media:Video.ogv</a> </p> !! html/parsoid <p><a rel="mw:MediaLink" href="//example.com/images/3/3a/Foobar.jpg" title="Foobar.jpg">Media:Foobar.jpg</a> -<a rel="mw:MediaLink" href="//example.com/images/0/00/Video.ogv" title="Video.ogv">Media:Video.ogv</a></p> +<a rel="mw:MediaLink" href="//example.com/images/0/00/Video.ogv" title="Video.ogv">Media:Video.ogv</a> +<a rel="mw:MediaLink" href="//example.com/images/0/00/Video.ogv" title="Video.ogv" data-parsoid='{"a":{"namespace":"Media"},"sa":{"namespace":":Media"}}'>Media:Video.ogv</a></p> !! end !! test -- To view, visit https://gerrit.wikimedia.org/r/365403 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Icf418e8cb2a69db20e0a9ebb5e929a6598b081fb Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/services/parsoid Gerrit-Branch: master Gerrit-Owner: Arlolra <abrea...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits