ProveIt
ProveIt is a reference manager for Wikipedia and any other MediaWiki wiki. Referencing is a key task in many wikis, but the process is often difficult because the citation templates are complex. ProveIt simplifies the process by adding a smart and simple graphical user interface when editing any article. You deal with the interface, ProveIt deals with the wikitext.
ProveIt lists every single ref tag on the page. For configured templates, ProveIt fetches the parameters from TemplateData to create a form to update existing or add new ref tags with such templates. ProveIt can also auto-fill a citation from an URL using m:Web2Cit, a collaborative database of configurations to fine-tune Citoid, VisualEditor's citation generation service.
-
ProveIt minimized.
-
The reference list.
-
Editing a reference.
-
Loading a reference via the Citoid service.
-
After a reference has been loaded via Citoid.
Installation
editIf ProveIt is already available as a gadget in your wiki, simply go to the gadgets tab in your preferences and enable it. If not, then add the following to your common.js in the wiki where you want it available or to your global.js if you want it available in every Wikimedia wiki:
/**
* ProveIt is a reference manager for Wikipedia and any other MediaWiki wiki
* Documentation: https://www.mediawiki.org/wiki/ProveIt
* Source code: https://www.mediawiki.org/wiki/MediaWiki:Gadget-ProveIt.js
*/
function loadProveIt() {
mw.config.set( {
'proveit-tag': 'proveit', // Revision tag defined at Special:Tags (optional)
'proveit-summary': 'Reference edited with [[mw:ProveIt|ProveIt]]', // Automatic edit summary (optional)
'proveit-templates': [ // Local citation templates (without namespace)
'Citation',
'Cite arXiv',
'Cite AV media',
'Cite book',
'Cite bioRxiv',
'Cite comic',
'Cite encyclopedia',
'Cite episode',
'Cite interview',
'Cite journal',
'Cite magazine',
'Cite news',
'Cite paper',
'Cite press release',
'Cite report',
'Cite sign',
'Cite speech',
'Cite thesis',
'Cite tweet',
'Cite video',
'Cite video game',
'Cite web',
],
'proveit-namespaces': [ // Supported namespaces, see https://www.mediawiki.org/wiki/Manual:Namespace_constants
0, // Main namespace
2, // User namespace
]
} );
mw.loader.load( '//www.mediawiki.org/w/load.php?modules=ext.gadget.Global-ProveIt' );
}
// Only load when editing
mw.hook( 'wikipage.editform' ).add( loadProveIt );
mw.hook( 've.activationComplete' ).add( loadProveIt );
Note that ProveIt requires Extension:Cite and Extension:TemplateData to work. Both are enabled by default in all Wikimedia wikis, but if you're loading ProveIt in a non-Wikimedia wiki, first make sure both extensions are enabled.
If you'd like to make ProveIt available in your wiki as a gadget, define an entry at MediaWiki:Gadgets-definition (see Extension:Gadgets#Usage for details) and use the above code as the gadget script. Then, please add your wiki to the #Tracking table so we can keep it updated.
Template data
editProveIt is closely integrated with the template data of the citation templates. The more template data you specify, the smarter ProveIt can get. For example:
- Parameters are sorted according to their order in the template data
- Parameters marked as "required" are shown in bold
- Parameters marked as "suggested" are visible by default
- Parameters marked as "optional" are hidden by default
- Parameters marked as "deprecated" are shown
striked - Parameters of "date" type show a Today button that inserts the current date
- Parameters of "url" type show an Archive button that gets you an archived version of the URL from https://archive.org
- Parameters of "content" type show as a text area rather than single-line input field
- The "format" field determines whether ProveIt will generate references as blocks or inline
Due to cache issues, ProveIt may take a while to reflect any changes you make to the template data.
Localization
editVisit the translation project at translatewiki.net to help with translations. Your translations will become available automatically to everyone in a few days, when the translatewiki bot merges your changes. Thanks!
Development
editVisit the Phabricator project to report bugs and request features. Clone the Gerrit repository to start contributing (see Gerrit/Tutorial). Once your code gets merged, it will be manually copied to MediaWiki:Gadget-ProveIt.js and MediaWiki:Gadget-ProveIt.css and become live.
Tracking table
editWikipedia | Initialization code | Enabled as gadget | Revision tag | Local documentation |
---|---|---|---|---|
Armenian | Yes | Yes (by default) | Yes | No |
Assamese | Yes | Yes (by default) | No | Yes |
Azerbaijani | Yes | Yes | No | Yes |
Bengali | Yes | Yes | Yes | Yes |
Bihari | Yes | Yes | No | Yes |
Bulgarian | Yes | Yes | Yes | No |
Chinese | Yes | Yes | Yes | Yes |
Croatian | Yes | Yes | Yes | No |
English | Yes | Yes | Yes | Yes |
Estonian | Yes | Yes | Yes | Yes |
Finnish | Yes | Yes | Yes | Yes |
French | Yes | Yes | Yes | Yes |
Greek | Yes | Yes | No | No |
Gujarati | Yes | Yes | No | No |
Hindi | Yes | Yes | No | Yes |
Hungarian | Yes | Yes | No | No |
Indonesian | Yes | Yes | Yes | Yes |
Italian | Yes | Yes | Yes | Yes |
Japanese | Yes | Yes | Yes | Yes |
Korean | Yes | Yes | Yes | Yes |
Kannada | Yes | Yes (by default) | No | No |
Kazakh | Yes | Yes | No | Yes |
Malay | Yes | Yes | No | Yes |
Occitan | Yes | Yes | No | No |
Odia | Yes | Yes | No | Yes |
Pashto | Yes | Yes | No | No |
Persian | Yes | Yes | Yes | Yes |
Polish | Yes | Yes | Yes | No |
Portuguese | Yes | Yes | Yes | No |
Punjabi | Yes | Yes | No | Yes |
Russian | Yes | Yes | Yes | Yes |
Serbian | Yes | Yes | Yes | No |
Sindhi | Yes | Yes | No | No |
Sinhalese | Yes | Yes | No | No |
Sorani | Yes | Yes | Yes | Yes |
Spanish | Yes | Yes | Yes | Yes |
Tamil | Yes | Yes | No | Yes |
Tulu | Yes | Yes | No | No |
Turkish | Yes | Yes | No | Yes |
Urdu | Yes | Yes | No | Yes |
Uzbek | Yes | Yes | No | Yes |
Vietnamese | Yes | Yes | Yes | No |
Yue Chinese | Yes | Yes | No | No |
See also
edit- MediaWiki:Gadget-Global-ProveIt.js - Live JavaScript of the gadget
- MediaWiki:Gadget-Global-ProveIt.css - Live CSS of the gadget
- Phabricator project - Bug reports and feature requests go here
- Git repository at Gerrit - Feel free to clone the repo and start contributing
- First grant to enhance the gadget assigned to User:Sophivorus in 2016
- Second grant to enhance the gadget assigned to User:Sophivorus in 2019
- MiniEdit - Another tool by User:Sophivorus
- Developing a fully internationalized and centralized gadget - Learning pattern based on the development of the gadget
- Commons:Category:ProveIt - Files related to the gadget
- Translating:ProveIt - Translation project at translatewiki.net
- Statistics - Use statistics across Wikimedia projects (tracking since May 2023)
Credits
edit- Originally developed between 2008 and 2011 by a team of Wikipedians at Georgia Tech, including Kurt Luther, Matthew Flaschen, Terris Johnson, Amy Bruckman, Andrea Forte and Christopher Jordan
- Rewritten, internationalized, improved and maintained by Sophivorus since 2014, who in 2016 got a grant to further enhance the gadget and then another in 2019
- Many other users contributed with feedback, translations and other forms of input. To name a few: Iniquity (Russian localization and feedback), Olli (original Finnish translation), MrX and Lindsay (feedback and testing)
- Also thanks to the authors of the dependencies: MediaWiki itself, jQuery, jQuery UI, jQuery cookie and jQuery textSelection
- And to all the translators at translatewiki.net