stelzch / zotero.koplugin

Display Zotero collection on E-Readers with KOReader
GNU General Public License v3.0
45 stars 2 forks source link
koreader-plugin zotero zotero-api

Zotero for KOReader

This addon for KOReader allows you to view your Zotero collections.

[!NOTE] Beta version! Please report bugs, pull requests are welcome.

Screenshot of this plugin displaying a list of papers alongside a search button

Features

Installation Guide

  1. Copy the files in this repository to <KOReader>/plugins/zotero.koplugin
  2. Obtain an API token for your account by generating a new key in your Zotero Settings. Note the userID and the private key.
  3. Set your credentials for Zotero either directly in KOReader or edit the configuration file as described below.

Differences to previous versions

In previous versions, you had to copy your entire Zotero directory to your device. The new version however works with the Zotero Web API and downloads attachments ad-hoc. If you are not interested in syncing your collection and would rather access your entire collection offline, you can take a look at version 0.1.

Configuration

WebDAV support

If you do not want to pay Zotero for more storage, you can also store the attachments in a WebDAV folder like Nextcloud. You can read more about how to set up WebDAV in the Zotero manual.

The WebDAV URL should point to a directory named zotero. If you use Nextcloud, it will look similar to this: [http://your-instance.tld/remote.php/dav/files/your-username/zotero](). It is probably a good idea to use an app password instead of your user password, so that you can easily revoke it in the security settings should you ever lose your device.

Manual configuration

If you do not want to type in the account credentials on your E-Reader, you can also edit the settings file directly. Edit the zotero/meta.lua file inside the koreader directory and supply needed values:

-- we can read Lua syntax here!
return {
    ["api_key"] = "", -- API secret key
    ["user_id"] = "", -- API user ID, should be an integer number
    ["webdav_enabled"] = false,
    ["webdav_url"] = "", -- URL to WebDAV zotero directory
    ["webdav_user"] = "",
    ["webdav_password"] = "",
}