Extension:Cite

The Cite extension allows a user to create references as footnotes on a page. It adds two parser hooks to MediaWiki,  and  ; these operate together to add citations to pages.

Usage
The basic concept of the &lt;ref> tag is that it inserts the text enclosed by the ref tags as a footnote in a designated section, which you indicate with the placeholder tag &lt;references />. This format cannot be used interchangeably with the older format — you must pick one or the other.

Additional placeholder tags &lt;references /> can be inserted in the text, and all &lt;ref> tags up to that point will be inserted there.

If you forget to include &lt;references /> in the article, the footnotes will not disappear, but the references will be displayed at the end of the page.

This page itself uses footnotes, such as the one at the end of this sentence. If you [ view the source] of this page by clicking "Edit this page", you can see a working example of footnotes.

{| class="wikitable" ! width="50%" | Wikitext ! Rendering The Sun is pretty big. The Moon, however, is not so big.

Notes identifiers require alphabetic characters; solely relying on numerals will generate an error message.

Merging two texts into a single reference
A typical wikisource issue is, how to merge into one reference texts split into different pages. This can be done using a &lt;ref name="name"> tag for the first part of the reference, and tagging the following parts into different pages with a tag &lt;ref follow="name">.

Here an example, deriving the text used into previous section:

{| class="wikitable" ! width="50%" | Wikitext ! Rendering
 * - valign="top"

This is an example of merging multiple texts into the same footnote.

References tag inserts the text of all the citations which have defined in  tags up to that point in the page. For example, based on the citations above, there should be reference for the note group.

{| class="wikitable" ! width="50%" | Wikitext ! Result
 * , which incorporates . It provides an optional parameter to display the reference list in multiple columns. For instance, the English, Hindi and Interlingua Wikipedias use the css selector   to make the reference text smaller than normal text.
 * , which incorporates . It provides an optional parameter to display the reference list in multiple columns. For instance, the English, Hindi and Interlingua Wikipedias use the css selector   to make the reference text smaller than normal text.
 * , which incorporates . It provides an optional parameter to display the reference list in multiple columns. For instance, the English, Hindi and Interlingua Wikipedias use the css selector   to make the reference text smaller than normal text.

If a page includes more than one  list, each list includes the   tags defined after the previous references list. If these references lists are produced by templates, each one lists the ref tags defined before the first references list, and there is an error message saying that there is a ref tag but not a references list.

Grouped references
This may be disabled by  if desired.

The following example generates separate reference lists for citations and miscellaneous footnotes:

 According to scientists, the Sun is pretty big &lt;ref>E. Miller, The Sun, (New York: Academic Press, 2005), 23-5.&lt;/ref>.

In fact, it is very big &lt;ref group="footnotes">Take their word for it. Don't look directly at the sun!&lt;/ref>.

&#61;=Notes==

'''&lt;references group="footnotes" />

&#61;=References==

'''&lt;references /> 

The anonymous group works as before, while the named group reference will show up as, and the references will look like this: section, to the place where they will actually appear to the reader.

Thus, the code above will have the same output as the first example above, although the numbering and order of the references will not in general be the same.

Substitution and embedded parser functions
Since  is parsed before substitution (i.e.,  ) or parser functions, e.g.,  &hellip;, those will not work inside of citation references. Instead, you have to use the magic word &hellip;.


 * This non-working example:


 * could be made to work using:

At this time, there is no way to create an "empty" tag, i.e.,, without triggering Cite's complaint about empty content. The workaround is to simply redefine the full tag each time you use this feature. Since such usage is likely limited to templates or other semi-automated process, this may not be too onerous. Bookmarklet example for Cite web:



Customization
The format of the output of  and   is almost completely customizable through MediaWiki messages, that can be modified, for example, through the MediaWiki namespace depending on the configuration of the wiki.

For a list of messages that control the output of  and   and the values, if any, that are passed to them ($1, $2, $3 ...), see here for an up-to-date listing of their default contents.


 * Incomplete list
 * cite_reference_link_key_with_num
 * key
 * num
 * cite_reference_link_prefix
 * cite_reference_link_suffix
 * cite_references_link_prefix
 * cite_references_link_suffix
 * cite_reference_link
 * ref ID
 * backlink ID
 * count to display
 * cite_references_link_one
 * Used to format the source list that
 * }
 * }


 * MediaWiki:Cite references link many

Putting $3 between the undefined tags changes the links from 1.0, 1.1, 1.2 to a, b, c etc…
 * MediaWiki:Cite references link many format

Searching for these 3 pages for the first time will result in no matches. Simply click "Create this page" to edit the code. The changes will not show up until a page with references is rebuilt.

Set reference and reference number highlighting
Starting with MW 1.26 the selectors for highlighting are now incorporated into Cite/modules/ext.cite.css. Thus the CSS code below no longer needs to be added manually.

Add the following code to the MediaWiki:Common.css page.

API
An API is available when correctly configured by the following.

a Raw JSON for a given page will now be accessible via:

/wiki/Special:ApiSandbox?useformat=desktop#action=query&format=json&prop=references&titles=Doctor+Who

You will need to purge existing pages for this to become available.