Page MenuHomePhabricator

Javadoc link isn't rendered correctly when fragment identifier is needed
Closed, InvalidPublic

Description

I'm not sure if the problem comes from Wikipedia's endering motor, or just
because a lot of authors had used the wrong syntax. Let's see the problem first.

Go to this link:
http://en.wikipedia.org/wiki/Java_syntax#The_toString_method

The first link's text is "#toString() Object.toString()" while it's supposed to
be "Object.toString()"!! This is because the "#toString()" URI fragment is
wrongly rendered outside href attribute. More precisely, we have
<a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html"
...>#toString() Object.toString()</a>
instead of
<a
href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html#toString()"
...>Object.toString()</a>

This is not an individual case. Some other articles relating to Java have this
problem too. Looking at the "wiki source", the above link is coded as:
{{Javadoc:SE|java/lang|Object|toString()}}

I have no idea if this syntax is correct or not and nowhere can I find reference
to the syntax.


Version: unspecified
Severity: normal
URL: http://en.wikipedia.org/wiki/Java_syntax#The_toString_method

Details

Reference
bz6468

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 9:20 PM
bzimport added a project: MediaWiki-Parser.
bzimport set Reference to bz6468.
bzimport added a subscriber: Unknown Object (MLST).

ayg wrote:

The syntax in question is template syntax. It calls [[Template:Javadoc:SE]]
with parameter one equal to "java/lang", parameter two equal to "Object", and
parameter three equal to "toString()". The template in question uses
[[m:ParserFunctions]] extensively, so the problem might be tricky to pin down,
but it's almost certainly not a software problem.

ayg wrote:

The problem was, in fact, in the template, not the code. I believe I've now
fixed it. Since this wasn't a code problem, closing as INVALID.

Yes, the problem's fixed. That's great. You're quick! :)

I've found another similar problem but I suppose I should open a new bug, right?

OTOH, is there any doc telling us the syntaxes for javadoc template? Some URI
fragments have to contain spaces, something like #someMethod(int, int). I see
that if the space is input as is in the template, the URI is rendered wrong.
Some authors put %20 instead of the blank and it seems to do the trick. Is this
the correct way to do?

ayg wrote:

Sorry if I wasn't clear enough. This isn't a MediaWiki issue, it's an issue
with user-created content on a wiki. Anyone can edit [[Template:Javadoc:SE]];
it was created by an ordinary user ([[User:Doug Bell]]) and is maintained by
ordinary users (such as me) when a problem arises. You should not open a new
bug if you find another issue with the template; instead, post to its talk page
at [[Template talk:Javadoc:SE]]. Bugzilla is only for software and
configuration issues, which require developer attention, not content issues,
which do not. That's why I closed this as INVALID rather than FIXED (anyone can
close bugs, too, by the way, although you really piss off the devs if the
closure is incorrect).

You may want to read [[m:Help:Template]] if you're still confused. Anyone can
create a template such as [[Template:Javadoc:SE]], including you, and anyone can
edit existing templates. So Bugzilla isn't the right place for this.

OK, I see more or less what you meant.

The similar problem I talked about is for Javadoc:EE this time. You could see
it in this link in the paragraph beginning with "The Hello class overrides the ...":

http://en.wikipedia.org/wiki/Java_programming_language#Servlet

TIA