some improvements: COinS rendering, PubList macro, detailed-entry view
|Reported by:||abeld||Owned by:||Amfortas|
I put together some improvements for TracBibPlugin, which are very handy for a 'research group homepage'-type site. I.e. for an academic research group, which wants to have individual profile pages for each participant, and where there is a list of publications for each project (with seperate projects having seperate wiki-pages). On such a webpage, one wants to have 'list of references'-style lists, even for entries that are not referenced in the text of the given page. For example one will want to have the publications of a given participant on that participant's profile page, etc.
I am going to attach a unified diff that contains these additions. (Sorry for not making seperate diffs, I hope it will be usable even in this form.) Note that these modifications work for me, but they might use some improvement: for example some things are hardcoded, and make them configurable options might make more sense.
A summary of whats implemented in this patch:
- COinS rendering (http://en.wikipedia.org/wiki/COinS), this means that tools like zotero can easily import the bibliography data contained on the page
- refactored rendering, using Formatter classes, so that various types of styles (list, table, bibtex, coins, etc.) can be generated.
- improved rendering of the plain 'list of references' style so that the 'list of references' can be styled with css
- a 'detailed-record' view: an IRequestHandler that can render the full bibtex data for a given entry. This also provides the bibtex entry so that it can be copy-pasted. This page is linked from all reference lists.
- linking authors to their profile pages (if such page exists), with abbreviating the author names as appropriate (this abbreviation is implemented so that it handles hungarian double chars): The author's name in the list of authors will be linked to 'public/en/people/'+name wiki-page.
- A PubList macro that can be used to render all entries in the db that match certain criteria (i.e. have a bibtex field with the given value). For example [[PubList(author:John Smith, order=-year)]] renders a list of all of John Smith's publications, in reverse-chronological order (i.e. newest first)
I believe these significantly extend the features of TracBibPlugin, and thus would be useful for every user of TracBibPlugin. (With the above-mentioned caveat that some hard-coded stuff should be made configurable.)
Note that this patch was only tested with trac 0.12 (although I have an older version that was used under trac 0.10)