MediaWiki provides a Linter extension that exposes markup issues to editors to fix. These markup issues are classified into different Linter categories. These issues are identified by Parsoid during its wikitext parsing process.
As part of this project, at the very minimum, you would be implementing two things: (a) write code in Parsoid to detect the use of links-in-links which is not semantically meaningful and cannot be rendered in HTML (b) write code in the PHP Linter extension to add this new category.
Example wikitext that has this markup error.
[http://google.com This is [[Google]]'s search page]
In the above example, Google is linked in the This is [[Google]]'s search page link text for the http://google.com url link. This is invalid and should be flagged by the Linter code in Parsoid.
Both node.js and PHP skills would be ideal. At least one of them would be good. Familiarity with wikitext and/or DOM manipulation would be a bonus, but not required for this project. You will be picking up the necessary skills.
- Install Parsoid in development mode