
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.
If 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 code 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-Global-ProveIt.js */ function loadProveIt() { mw.config.set( { // Local citation templates (without namespace) 'proveit-templates': [ 'Citation', 'Cite book', 'Cite comic', 'Cite encyclopedia', 'Cite episode', 'Cite journal', 'Cite news', 'Cite paper', 'Cite report', 'Cite sign', 'Cite speech', 'Cite thesis', 'Cite video', 'Cite web', 'R', 'Sfn', ], // Citation templates that shouldn't go inside <ref> tags //'proveit-templates-noref': [ 'R', 'Sfn' ], // Supported namespaces, see https://www.mediawiki.org/wiki/Manual:Namespace_constants //'proveit-namespaces': [ 0, 2 ], // Preferred date format, see https://developer.mozilla.org/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat#using_options //'proveit-date-format': { year: 'numeric', month: 'numeric', day: 'numeric' }, // Revision tag defined at Special:Tags //'proveit-tag': 'proveit', // Automatic edit summary //'proveit-summary': 'Reference edited with [[mw:ProveIt|ProveIt]]', } ); // Load from the central, global version at MediaWiki.org mw.loader.load( '//www.mediawiki.org/w/load.php?modules=ext.gadget.Global-ProveIt' ); } // Only load when editing mw.hook( 'wikipage.editform' ).add( () => window.ProveIt || loadProveIt() ); mw.hook( 've.newTarget' ).add( target => target.constructor.static.name === 'article' && target.on( 'surfaceReady', loadProveIt ) );
Un-comment and customize the configuration options you want.
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.
ProveIt 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 reasons, ProveIt may take a while to reflect any changes you make to the template data.
Visit 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!
Visit 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-Global-ProveIt.js and MediaWiki:Gadget-Global-ProveIt.css and become live.
- 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
- 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