Page MenuHomePhabricator

Parsoid inserts unnecessary nowiki
Closed, InvalidPublic

Event Timeline

Now VisualEditor can do two outputs:

  1. [[Hatvan|Hatvanban]] – good display, but wrong wikitext. I can achieve this only by inserting the link to Hatvan, writing nban before the last character, and finally deleting the last n; this is not very user-friedly…
  2. [[Hatvan]]<nowiki />ban – bad display, even wronger wikitext. It can be achieved easily by inserting the link to Hatvan, and then writing ban after it.
JulesWinnfield-hu renamed this task from Parsoid inserts unbalanced nowiki to Parsoid inserts unnecessary nowiki.Feb 21 2016, 1:12 PM

This is not a Parsoid issue. Parsoid preserves the semantics of the HTML it received.

[subbu@earth bin] echo '[[Hatvan]]ban' | node parse --prefix huwiki --normalize
<p><a href="Hatvan" title="Hatvan">Hatvanban</a></p>
[subbu@earth bin] echo '[[Hatvan]]<nowiki/>ban' | node parse --prefix huwiki --normalize
<p><a href="Hatvan" title="Hatvan">Hatvan</a>ban</p>

So, Parsoid adds the <nowiki/> so that the wikitext parses to the HTML that it encountered. Without the nowiki, as you can see above, on rendering, the 'ban' also becomes part of the link because of linktrail behavior that is part of wikitext.

So, if in VE, you saw 'Hatvan' linked and ban immediately followed it without any whitespace (or other huwiki-specific chars that prevent linktrail behavior), then the nowiki insertion is the only solution to preserve that rendering.

I am closing this as invalid. Please reopen (or reassign to VE) based on what the expectations are about desired output and whether the VE UI misled the editor in terms of those expectations.