Skip to content

Latest commit

 

History

History
60 lines (37 loc) · 2.41 KB

README.md

File metadata and controls

60 lines (37 loc) · 2.41 KB

Zotero

Provide easy Ruby access to Zotero, for e.g. generating online bibliographies and reading lists.

Installation

Add this line to your application's Gemfile:

gem 'zotero'

And then execute:

$ bundle

Or install it yourself as:

$ gem install zotero

Usage

First, go find out your Zotero user ID.

Then create a private key to access your data via the Zotero API.

Now you can access your data using this Ruby gem. For example:

require 'zotero'
library = Zotero::Library.new ZOTERO_USER_ID, ZOTERO_KEY
library.collections                     # Get all your top-level collections
collection = library.collections.first 
collection.entries                      # Get all the entries in a collection
collection.collections                  # Get sub-collections
collection.entries.first.title          # Get the title of an entry
collection.entries.first.kind           # e.g. 'journal_article' / 'book'
collection.entries.first.authors

The methods return Ruby objects; take a look at lib/zotero/entities to see the classes. Associations are lazy-loaded except for the creators (authors, editors or translators) of an Entry. If you want to eager-load a Collection, including all its entries, sub-collections and their entries, etc, use the #preload method.

I wrote this gem to populate the bibliography pages of my personal website, joshuamostafa.info. The source code for that website is also on github, so if you want to see a working example, take a look: github.com/micapam/jm-info.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/micapam/zotero.

License

The gem is available as open source under the terms of the MIT License.