Right now a lot of our links to generated documentation on php classes are
manually copied.
One of the reasons for this seems to be how badly Doxygen handles the
anchors to sections on individual methods.
Instead of simply using the method name it generates a md5 hash of a
signature that is impossible to know simply with a class and method name.
Meaning we can't simply have a template to link to documentation.
However Doxygen exports a tagfile that includes a list of classes, their
methods, and the anchors used for their links.
This is currently at: (*warning* large file)
https://doc.wikimedia.org/mediawiki-core/master/php/html/tagfile.xml
What does everyone think of making it so that when Jenkins generates this
documentation. It processes the tagfile, splits it up and converts it into
multiple lua tables, then uses the API to update a Module: page on
mediawiki.org.
This way templates can have some Lua code that uses that data to create
links with something like:
local classes = mw.loadData( 'DoxygenTags mediawiki-core class' )
...
function p.methodLink(className, methodName)
local class = classes[className]
...
local method = members.function[methodName]
...
return "https://doc.wikimedia.org/mediawiki-core/master/php/html/" +
method.anchorfile + "#" + method.anchor
end
...
--
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [
http://danielfriesen.name/]