Extension:Cite/Cite.php

Other languages:


 * ''This page gives general documentation valid for all MediaWiki installations which use the cite extension. For use of this feature in the English Wikipedia see w:Wikipedia:Footnotes.  That page also includes more examples.

Cite.php is a Cite extension that adds two parser hooks to MediaWiki,  and  ; these operate together to add citations to pages.

Where to download

 * Cite.php
 * Cite.i18n.php
 * Required by Cite.php or else you'll get a pretty blank page!

Warning! Cite.i18n.php contains certain characters that will be converted to ? when you click on the link above. To prevent this, right-click and select save link as....

Requirements
This version requires at least Mediawiki 1.6x.

How to install

 * 1) Place Cite.php and Cite.i18n.php extension files in a Cite subdirectory within your extensions/ directory
 * 2) Add the following line to LocalSettings.php:

Note: The require_once line needs to be placed under the call to include DefaultSettings.php.

How it works
The basic concept of the 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 inserts the full text of all pending inline citations defined by , anywhere on the page. For example, based on the citations above, the code:



will yield:



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 the code in CVS for an up-to-date listing of their default contents.


 * 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 in templates breaks numbering:Issue with MediaWiki regarding in what order things are parsed
 * Using  within a template will create correctly numbered reference mark but it will be missing from the output of a   on the calling page.  (example)
 * It's impossible to pass template arguments to, e.g.  :Issue with MediaWiki, see bug 4529
 * The citation links generated by &lt;ref&gt; and the backlinks generated by &lt;references&gt; have an empty  attribute :Issue with MediaWiki, not this extension. MediaWiki will generate output like   when given input like
 * Missing name= anchors for backwards compatibility ( 5567 )
 * The generated &lt;a href="#_note-n"&gt; links should have a name="_ref-n"</tt>.
 * The generated &lt;a href="#_ref-n"&gt;</tt> links should have a name="_note-n"</tt>.
 * This currently seems to be working. &mdash;72.255.34.142 17:02, 22 July 2006 (UTC)


 * Commenting out  with HTML comments   hides the citation but the reference still appears on the list
 * This would appear to be a parser error…


 * cite.php is not compatible with ParserFunctions
 * While the generated link can be excluded with «#ifexist:», the reference still appears in the output of a.


 * Template substitution misrenders inside  tag.
 * Contents of non-first named  are not rendered, even if all prior tags with same name are empty.

Criticisms
The major criticism regarding Cite.php is that it renders the editing of references much more tedious. Moreover, because many casual Wikipedia users are not familar with the cryptic Wikitext tags that they find with the use of Cite.php, it is likely that the net effect of Cite.php is often to deter new users from making edits to reference sections. Although Wikipedia supposedly got its name from the Hawaiian word "wiki-wiki", meaning "quick-quick", Cite.php is arguably neither quick nor easy for the average Wikipedia user.


 * A possible solution would be to have the actual reference section contain all of the references with given names, then throughout the article, simply reference by name, instead of the full citation. This would also reduce confusion concerning multiple uses of a reference having different text, but only showing the first instance (causing confusion with sections are shifted around, the displayed reference might change, while the text hasn't). I.e.:

Some text that needs a ref. Another sentence that uses a ref, followed by another usage of the first ref.


 * Using cite.php makes citing page numbers harder. Each reference usually cites a different page of the book/journal/article, but there is no way to indicate a different page number when using a self-closing tag.  As such, all  simply refer to the work as a whole, rather than to a specific page number in the work.  Perhaps a future revision of cite.php could allow a page number argument to be passed to the reference like so .  This would dramatically increase the reputability of the citations, because they could then be checked/verified, and the citations would be a more useful resource.

Past problems

 * The extension didn't generate id attributes that could be uniformly styled with CSS2 attribute selectors: Issue in Cite.php, see bug 4579
 * Using multibyte characters, colons, spaces and other values that need to be encoded according to the HTML spec breaks internal links:Issue with MediaWiki, not this extension, see bug 4461.
 * Using  in image captions breaks the XHTML output:Issue with MediaWiki, not this extension, see bug 1887.

Comparing ref/note style and Cite.php style
They are actually very similar.


 * To make a single use footnote:
 * Ref/note
 *   at the in-text place.
 *  # text of note at the proper place in the Notes list.
 * Cite.php
 *   at the in-text place.
 * (Only needed once per article)  under the Notes heading.
 * To make a multiple use footnote:
 * Ref/note
 * With strict ref/note style this was impossible, but a number of alternative forms had been created, for the details of which, see the appropriate pages.
 * Cite.php
 *   at each in-text place.
 * Alternatively    A self-closing tag on every use after name=foo has been defined.
 * (Only needed once per article)  under the Notes heading; exactly the same as to make a single-use note.