This project represents an effort to use a Zotero group library as the basis of creating a bibliography suitable for publishing on the web. The citations themselves express linked data through the http://schema.org vocabulary. URIs for authors are added to the database after the Zotero library has been processed, as Zotero itself offers no linked data support.
To improve visibility of the citations in general search engines, we also
generate a sitemap and robots.txt
file that advertises the sitemap.
Although any RIS file could be used as a source for the bibliography, the
ris2sql
processor assumes some quirks of Zotero (such as Editor = 'A3' and
Series Editor = 'A2').
The code is licensed under the GNU General Public License (GPL) 3.
The data is licensed under the Open Data Commons - Attribution (ODC-BY) license.
sudo apt-get install git postgresql python3 python3-flask python3-pip nginx
sudo pip install psycopg2 flask-babelex
The following instructions should more or less enable you to get a clone of this instance up and running on the default Flask port:
sudo su -c 'createuser -s <username>' postgres
sudo su -c 'createdb bibliography' postgres
git clone https://github.com/dbs/ris2web.git
cd ris2web
./create_bibdb && ./sitemap_maker && ./ris2web
pybabel compile -d translations/
Once ris2web
is running, you should be able to access the site on the same
machine using a browser pointed at http://localhost:5000.
Pybabel is the utility used to pull out translateable text from templates/py files. Simply extract and update to put in new translations.
When adding new messages to messages.pot or new translations to messages.po, ALWAYS make sure to only partially stage the actual messages added. Pybabel updates a header with the date of the last message extract, so it will cause a merge conflict if it’s staged into the commit.
-
Bibliography compilation and overall direction by Desmond Maley.
-
Faculty participation by Reuben Roth, Laurentian University.
-
Bibliography compilation by Fiona McQuade-Crangle, with contributions from Carley Whittle, both from Laurentian University.
-
Code by Dan Scott, Laurentian University.