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.

The ProveIt logo.

Installation edit

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 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 edit

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 issues, ProveIt may take a while to reflect any changes you make to the template data.

Localization edit

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!

Development edit

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-ProveIt.js and MediaWiki:Gadget-ProveIt.css and become live.

Tracking table edit

Wikipedia 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

Credits edit