KCite

Description

Interprets the [cite] shortcode to produce citations from the
appropriate sources, also produces a formatted bibliography at the foot of the
post, with appropriate links to articles.

This plugin now uses multiple resources to retrieve metadata about the
references in question, including CrossRef, DataCite, arXiv, PubMed and
arbitrary URLs.

Additional documentation is available at
Process.

Syntax

DOI Example – [cite source=’doi’]10.1021/jf904082b[/cite]

PMID example – [cite source=’pubmed’]17237047[/cite]

Whichever ‘source’ is identified as the default (see Installation), will work
without the source attribute being set in the shortcode. so:

[cite]10.1021/jf904082b[/cite]

Will be interpreted correctly as long as DOI is set as the default metadata
source.

Kcite now supports DOIs from both CrossRef and
DataCite. Identifiers from
PubMed or arXiv are directly
supported. URLs are supported via
Greycite.

From Kcite 1.4, Citeproc-js
(https://bitbucket.org/fbennett/citeproc-js/wiki/Home) is used to render the
bibliography on the browser; the main visible change it that Author-Year
citation is used. There is now experimental support for reader switching. This
must be enabled in the settings page as it is off by default.

Kcite is developed at http://code.google.com/p/knowledgeblog/ in Mercurial. To
contact the authors, please email knowledgeblog@googlegroups.com.

Copyright

This plugin is copyright Phillip Lord, Simon Cockell and Newcastle University
and is licensed under GPLv3. Citeproc-js which is included is used under the
AGPLv3.

Changelog

1.6.3

  1. Link from Plugins menu
  2. Inline citations now supported.

1.6.2

  1. Security fix: Admin page was incorrectly nonced.
  2. Admin page has been completely re-written
  3. Greycite options have been updated.
  4. Options will need resetting as a result of change.

1.6.1

  1. Fixed problem with in-built render giving links of form [ITEM-8-1]
  2. Improvements to presentation of in-built renderer
  3. Citeproc rendering disabled in feeds, as many RSS readers cannot cope
  4. Kcite can selects appropriate sources for bare URLs
  5. Paged rendering to citeproc-js should allow large bibliographies in IE8,
    without timeouts.

1.6

  1. Kcite no longer requires PHP libcurl, but will use it if present.
  2. Javascript rendering now happens asynchronously, reducing page load time.
  3. Options to control caching.
  4. Kcite can now reference URLs, using metadata from Greycite (greycite.knowledgeblog.org)

1.5.1

  1. Fixed Version number in header

1.5

  1. Kcite now requires the PHP libcurl support. You may need to install
    additional packages on your web server.
  2. From kcite 1.5, we have expanded the range of identifiers.
    DataCite DOIs and arXiv IDs are now supported.
  3. Crossref DOIs are now accessed via content negotiation. This should be less
    buggy, and reduce server load as it removes a parsing/data integration
    step.
  4. DataCite DOIs come via content negotiation also, although still require XML
    parsing.
  5. Bug fix to in kcite.js should fix an occasional rendering bug.
  6. Both bibliography and intext citation are now linked. The underlying HTML
    is also linked, which should aid machine interpretability.

1.4.4

  1. Removed errant “w” from start of kcite.php

1.4.3

  1. Proper release, after 1.4.2 release was confused.

1.4.2

  1. Javascript was being added when citeproc option was turned off.

1.4.1

  1. Loads Javascript only when there is a bibliography.
  2. Fixed bug in Crossref parser which treated editors as authors

1.4

  1. Introduction of citeproc rendering
  2. New admin options
  3. Move to GPLv3

1.3

  1. Fixed another regression caused by 1.2 fix. This should fix the error when
    there is no bibliography.

1.2

  1. Sadly 1.1 had a regression error in it, which mean it didn’t
    fix the error in as reported. Additionally a print statement
    was dumping a large amount of JSON to screen. Both of these errors
    should now be fixed.

1.1

  1. Fix for pages with more than one bibliography.
    http://code.google.com/p/knowledgeblog/issues/detail?id=28

1.0

  1. Full code refactoring from 0.1
  2. Uses transients API
  3. Support for arbitrary reference terms

Contributors & Developers

This is open source software. The following people have contributed to this plugin.

Browse the code