Table of Contents
Citation Generation
Possible approaches
CiteProc
CiteProc is a common approach. A beneficial aspect of using CiteProc is that you can use any of thousands of citation styles: https://github.com/citation-style-language/styles
A bunch of open source projects already use CSL/CiteProc: http://citationstyles.org/
There is a JS library, but no Perl library (yet): http://citationstyles.org/developers/
Here is some information about how LBCC uses CiteProc in its discovery layer: http://sandbergja.github.io/systems/2015/11/24/findit-bibtex
Eprints
Eprints displays citations prominently, and is also written in Perl. It might be worthwhile to learn more about Eprints does citations.
https://github.com/eprints/eprints/blob/master/perl_lib/EPrints/Utils.pm#L536
Here's an example of the Eprints interface including citations: https://eprints.qut.edu.au/104121/
In fact, the browse and search interfaces use citations as the search result display: https://eprints.qut.edu.au/view/subjects/080799.html
Nice examples
- LBCC's Discovery Layer (click on Cite): http://libfind.linnbenton.edu/catalog/540196
- NOBLE includes citations in its Evergreen catalog: Adding Citations to the Catalog