Change how https://en.wikipedia.org/wiki/MediaWiki:Gadget-citations.js works so that it makes an API request to the Tool Labs code rather than using a click-jacking hack.
Component tasks:
- Change the gadget code so it makes some sort of API request (possibly XHR, but that may run into same-origin problems). The gadget should submit either the article text or article title (as is done with doibot.html) and should get back the updated wikitext of the article. It should then load an edit window with the resulting edit summary and page text. This should be relatively easy for someone who's good with onwiki JS, but probably considerably harder for someone who's learning.
- Change the backend code so that there is an appropriate web API to contact. It's probably best to write a new script to handle this; doibot.php is close in functionality and is a sort of API, but the script is mixed up with the page output and won't be easy to add to. The basic logic of this should be easy, while the surrounding code to set this up may be a bit trickier.
Acceptance criteria: same functionality (click the Citations button, get a diff-style edit window containing the expanded article), but now works with NoScript or a similar XSS-blocker enabled.
This will be a very good task to pair on, especially for the front-end portions. @Fhocutt knows how Citation bot goes together, while @kaldari and @NiharikaKohli have more JS and gadget experience.