zotero-translation-client v5.0.1
Zotero Translation Client
Overview
Zotero Translation Client is a library that can process URLs and identifiers (such as ISBN or DOI) into CSL-JSON bibliography items using translation server, optionally persisting these items in a storage object provided.
Compatibility
Current version of Translation Client (>=2.0) is compatible with Translation Server v2. For compatiblity with v1, please use 1.x.x version.
Getting The Library
npm i zotero-translation-client
Quick start
Install and start translation server
Configure the library to work with the translation server
const ZoteroTranslationClient = require('zotero-translation-client');
let translationClient = new ZoteroTranslationClient({
persist: false,
translateURL: 'http://my-translation.server.example.com:1234'
});
- Translate some urls
const { items: [ myPaper ] } = await translationClient.translateUrl('http://example.com/paper');
console.log(myPaper);
In-memory Storage
Normally each call to translateUrl
returns an item and also caches it in memory. Cached items can be retrieved at any time, either as Zotero Items:
const [ myPaper ] = translationClient.itemsRaw;
Or in CSL-JSON format:
const [ myPaperAsCSL ] = translationClient.itemsCSL;
This behaviour can be prevented using second, optional argument to translationClient.translate
, i.e. calling translationClient.translateUrl(url, { add: false })
will return a translated item but won't store it anywhere.
Persistence
In the example above, after refreshing the page (or restarting a node script), all previosly translated, cached items are lost. If that's not desired behaviour, Zotero Translation Client accepts any Web Storage compatible container for persistance. In fact, by default, it will attempt to use Local Storage for persistence.
If you're running Zotero Translation Client in node, you'll either need to disable persistence (as in the example above) or provide your own Web Storage compatible container (e.g. node-localstorage):
const LocalStorage = require('node-localstorage').LocalStorage;
const fileStorage = new LocalStorage('./my-citations');
let translationClient = new ZoteroTranslationClient({
storage: fileStorage,
translateURL: 'http://my-translation.server.example.com:1234'
});
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago