├── .gitignore ├── .gitattributes ├── skin ├── doi.png ├── icon.png ├── doi@2x.png └── icon@2x.png ├── chrome.manifest ├── built.bat ├── prefs.js ├── updates.json ├── manifest.json ├── locale ├── en-US │ ├── options.dtd │ ├── zoteroshortdoi.ftl │ └── zoteroshortdoi.properties └── de │ ├── options.dtd │ ├── zoteroshortdoi.ftl │ └── zoteroshortdoi.properties ├── install.rdf ├── update.rdf ├── content ├── options.xhtml └── options.xul ├── README.md ├── bootstrap.js ├── LICENSE └── zoteroshortdoi.js /.gitignore: -------------------------------------------------------------------------------- 1 | .project 2 | *.xpi 3 | *.zip -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto -------------------------------------------------------------------------------- /skin/doi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwiernik/zotero-shortdoi/HEAD/skin/doi.png -------------------------------------------------------------------------------- /skin/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwiernik/zotero-shortdoi/HEAD/skin/icon.png -------------------------------------------------------------------------------- /skin/doi@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwiernik/zotero-shortdoi/HEAD/skin/doi@2x.png -------------------------------------------------------------------------------- /skin/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bwiernik/zotero-shortdoi/HEAD/skin/icon@2x.png -------------------------------------------------------------------------------- /chrome.manifest: -------------------------------------------------------------------------------- 1 | content zoteroshortdoi content/ 2 | 3 | locale zoteroshortdoi en-US locale/en-US/ 4 | locale zoteroshortdoi de locale/de/ 5 | 6 | skin zoteroshortdoi default skin/ 7 | -------------------------------------------------------------------------------- /built.bat: -------------------------------------------------------------------------------- 1 | SET /P version= Enter version number: 2 | rm -f zotero-doi-manager-"%version%".xpi 3 | zip -r zotero-doi-manager-"%version%".xpi content/* locale/* skin/* bootstrap.js chrome.manifest install.rdf manifest.json prefs.js zoteroshortdoi.js -------------------------------------------------------------------------------- /prefs.js: -------------------------------------------------------------------------------- 1 | pref("extensions.shortdoi.autoretrieve", "long"); 2 | pref("extensions.shortdoi.tag_invalid", "\u26A0\uFE0F Invalid DOI"); 3 | pref("extensions.shortdoi.tag_multiple", "\u2753 Multiple DOI"); 4 | pref("extensions.shortdoi.tag_nodoi", "\u26D4 No DOI found"); 5 | -------------------------------------------------------------------------------- /updates.json: -------------------------------------------------------------------------------- 1 | { 2 | "addons": { 3 | "zoteroshortdoi@wiernik.org": { 4 | "updates": [ 5 | { 6 | "version": "1.5.1", 7 | "update_link": "https://github.com/bwiernik/zotero-shortdoi/releases/download/v1.5.1/zotero-doi-manager-1.5.1.xpi", 8 | "applications": { 9 | "gecko": { 10 | "strict_min_version": "60.9", 11 | "strict_max_version": "60.9" 12 | }, 13 | "zotero": { 14 | "strict_min_version": "6.999", 15 | "strict_max_version": "7.0.*" 16 | } 17 | } 18 | } 19 | ] 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | "name": "DOI Manager", 4 | "version": "1.5.1", 5 | "description": "Plugin for fetching and validating DOI and shortDOI names", 6 | "author": "Brenton M. Wiernik", 7 | "icons": { 8 | "48": "skin/icon.png", 9 | "96": "skin/icon@2x.png" 10 | }, 11 | "applications": { 12 | "zotero": { 13 | "id": "zoteroshortdoi@wiernik.org", 14 | "update_url": "https://raw.githubusercontent.com/bwiernik/zotero-shortdoi/master/updates.json", 15 | "strict_min_version": "6.999", 16 | "strict_max_version": "7.0.*" 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /locale/en-US/options.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /locale/en-US/zoteroshortdoi.ftl: -------------------------------------------------------------------------------- 1 | zoteroshortdoi-autoretrieve = Get DOIs for new items 2 | 3 | zoteroshortdoi-autoretrieve-short = 4 | .label = shortDOIs 5 | 6 | zoteroshortdoi-autoretrieve-long = 7 | .label = Long DOIs 8 | 9 | zoteroshortdoi-autoretrieve-check = 10 | .label = Verify DOIs only 11 | 12 | zoteroshortdoi-autoretrieve-no = 13 | .label = No 14 | 15 | zoteroshortdoi-notfound-tag = DOI Not Found Tags 16 | 17 | zoteroshortdoi-notfound-tag-desc = Tags added to items to indicate reasons why unique DOIs are not found 18 | 19 | zoteroshortdoi-tag-invalid = Invalid DOI 20 | 21 | zoteroshortdoi-tag-multiple = Multiple possible DOIs found 22 | 23 | zoteroshortdoi-tag-nodoi = No DOI found 24 | -------------------------------------------------------------------------------- /locale/de/options.dtd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /locale/de/zoteroshortdoi.ftl: -------------------------------------------------------------------------------- 1 | zoteroshortdoi-autoretrieve = DOIs für neue Einträge abfragen 2 | 3 | zoteroshortdoi-autoretrieve-short = 4 | .label = shortDOIs 5 | 6 | zoteroshortdoi-autoretrieve-long = 7 | .label = Lange DOIs 8 | 9 | zoteroshortdoi-autoretrieve-check = 10 | .label = DOIs nur prüfen 11 | 12 | zoteroshortdoi-autoretrieve-no = 13 | .label = Nein 14 | 15 | zoteroshortdoi-notfound-tag = Tags für nicht-gefundene DOIs 16 | 17 | zoteroshortdoi-notfound-tag-desc = Diese Tags werden den Einträgen hinzugefügt, um auf die Gründe für das Fehlen eindeutiger DOIs hinzuweisen 18 | 19 | zoteroshortdoi-tag-invalid = Ungültige DOI 20 | 21 | zoteroshortdoi-tag-multiple = Mehrere mögliche DOIs gefunden 22 | 23 | zoteroshortdoi-tag-nodoi = Keine DOI gefunden 24 | -------------------------------------------------------------------------------- /locale/en-US/zoteroshortdoi.properties: -------------------------------------------------------------------------------- 1 | invalidDOIString=Invalid DOI 2 | invalidDOITagString=Invalid DOIs were found. These have been tagged with _Invalid DOI. 3 | zotero.zoteroshortdoi.short.label=Get shortDOIs 4 | zotero.zoteroshortdoi.long.label=Get long DOIs 5 | zotero.zoteroshortdoi.check.label=Verify and clean DOIs 6 | zotero.zoteroshortdoi.menu.label=Manage DOIs 7 | zotero.zoteroshortdoi.toolsmenu.label=Get DOIs for new items 8 | 9 | shortdoi-preferences-label=DOI Manager Preferences… 10 | shortdoi-autoretrieve-label=Get DOIs for new items 11 | shortdoi-autoretrieve-short-label=shortDOIs 12 | shortdoi-autoretrieve-long-label=Long DOIs 13 | shortdoi-autoretrieve-check-label=Verify DOIs only 14 | shortdoi-autoretrieve-no-label=No 15 | shortdoi-menu-label=Manage DOIs 16 | shortdoi-menu-short-label=Get shortDOIs 17 | shortdoi-menu-long-label=Get long DOIs 18 | shortdoi-menu-check-label=Verify and clean DOIs 19 | -------------------------------------------------------------------------------- /locale/de/zoteroshortdoi.properties: -------------------------------------------------------------------------------- 1 | invalidDOIString=Ungültige DOI 2 | invalidDOITagString=Ungültige DOIs wurden gefunden. Diese wurden getaggt mit _Invalid DOI. 3 | zotero.zoteroshortdoi.short.label=Frage shortDOIs ab 4 | zotero.zoteroshortdoi.long.label=Frage lange DOIs ab 5 | zotero.zoteroshortdoi.check.label=Prüfe und säubere DOIs 6 | zotero.zoteroshortdoi.menu.label=DOIs verwalten 7 | zotero.zoteroshortdoi.toolsmenu.label=DOIs für neue Einträge abfragen 8 | 9 | shortdoi-preferences-label=DOI Manager Einstellungen 10 | shortdoi-autoretrieve-label=DOIs für neue Einträge abfragen 11 | shortdoi-autoretrieve-short-label=shortDOIs 12 | shortdoi-autoretrieve-long-label=Lange DOIs 13 | shortdoi-autoretrieve-check-label=DOIs nur prüfen 14 | shortdoi-autoretrieve-no-label=Nein 15 | shortdoi-menu-label=DOIs verwalten 16 | shortdoi-menu-short-label=Frage shortDOIs ab 17 | shortdoi-menu-long-label=Frage lange DOIs ab 18 | shortdoi-menu-check-label=Prüfe und räume DOIs auf -------------------------------------------------------------------------------- /install.rdf: -------------------------------------------------------------------------------- 1 | 2 | 6 | 16 | 2 17 | true 18 | 19 | 20 | zotero@chnm.gmu.edu 21 | 6.0 22 | 7.* 23 | 24 | 25 | 26 | 27 | juris-m@juris-m.github.io 28 | 5.0 29 | 6.* 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /update.rdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1.5.1 9 | 10 | 11 | zotero@chnm.gmu.edu 12 | 6.0 13 | 7.* 14 | https://github.com/bwiernik/zotero-shortdoi/releases/download/v1.5.1/zotero-doi-manager-1.5.1.xpi 15 | 16 | 17 | 18 | 19 | juris-m@juris-m.github.io 20 | 5.0 21 | 6.* 22 | https://github.com/bwiernik/zotero-shortdoi/releases/download/v1.4.2/zotero-doi-manager-1.4.2.xpi 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /content/options.xhtml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 29 | 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Zotero DOI Manager 2 | 3 | This is an add-on for Zotero, a research source management tool. The add-on can auto-fetch DOI names for journal articles using the CrossRef API, as well as look up shortDOI names using http://shortdoi.org. The add-on additionally verifies that stored DOIs are valid and marks invalid DOIs. 4 | 5 | Please report any bugs, questions, or feature requests on the Zotero forums. 6 | 7 | Code for this extension is based in part [Zotero Google Scholar Citations](https://github.com/beloglazov/zotero-scholar-citations) by Anton Beloglazov. 8 | 9 | ### Plugin Functions 10 | 11 | - Get shortDOIs: For the selected items, look up shortDOIs (replacing stored DOIs, if any) and mark invalid DOIs. 12 | - Get long DOIs: For the selected items, look up full DOIs (replacing stored DOIs, if any) and mark invalid DOIs. 13 | - Verify and clean DOIs: For the selected items, look up full DOIs (replacing stored DOIs, if any), verify that stored DOIs are valid, and mark invalid DOIs. 14 | - This function also removes unnecessary prefixes (such as `doi:`, `https://doi.org/`, or a publisher URL prefix) from the DOI field. 15 | 16 | ### How to Install 17 | 18 | - Download the `.xpi` file for the [latest release](https://github.com/bwiernik/zotero-shortdoi/releases/latest). 19 | - If you are using Firefox, be sure to right-click on the file link and choose Save Link As… 20 | - In Zotero, open the Tools → Add-Ons… menu 21 | - Drag the downloaded `.xpi` file to the Add-Ons popup window. 22 | - Alternatively, click on the Gear ⚙ button in Add-Ons popup window, choose Install Add-On from File…, and select the downloaded `.xpi` file. 23 | 24 | ### License 25 | 26 | Copyright (C) 2017 Brenton M. Wiernik 27 | 28 | Distributed under the Mozilla Public License (MPL) Version 2.0. 29 | -------------------------------------------------------------------------------- /content/options.xul: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | ¬found-tag-desc; 34 | 35 | 44 | 45 | 46 |