citeclaw 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/README.md +152 -0
- package/app.js +318 -0
- package/config.dev.yaml +124 -0
- package/config.prod.yaml +123 -0
- package/config.yaml +0 -0
- package/lib/Citation.js +101 -0
- package/lib/CitoidError.js +61 -0
- package/lib/CitoidRequest.js +150 -0
- package/lib/CitoidResponse.js +44 -0
- package/lib/CitoidService.js +1118 -0
- package/lib/Exporter.js +1052 -0
- package/lib/OutgoingRequestThrottle.js +96 -0
- package/lib/Scraper.js +617 -0
- package/lib/Translator.js +76 -0
- package/lib/ZoteroService.js +220 -0
- package/lib/api-util.js +125 -0
- package/lib/external-apis/CrossRefService.js +122 -0
- package/lib/external-apis/OpenAlexService.js +245 -0
- package/lib/external-apis/PubMedService.js +82 -0
- package/lib/external-apis/SemanticScholarService.js +221 -0
- package/lib/external-apis/WaybackMachine.js +92 -0
- package/lib/hostIsAllowed.js +128 -0
- package/lib/swagger-ui.js +104 -0
- package/lib/translators/README.md +12 -0
- package/lib/translators/bePress.js +319 -0
- package/lib/translators/coins.js +360 -0
- package/lib/translators/crossRef.js +485 -0
- package/lib/translators/dublinCore.js +215 -0
- package/lib/translators/general.js +157 -0
- package/lib/translators/openGraph.js +177 -0
- package/lib/translators/util/index.js +209 -0
- package/lib/unshorten.js +109 -0
- package/lib/util.js +410 -0
- package/lib/zotero/cachedTypes.js +232 -0
- package/lib/zotero/typeSchemaData.js +366 -0
- package/package.json +121 -0
- package/routes/citoid.js +101 -0
- package/routes/info.js +81 -0
- package/routes/root.js +51 -0
- package/scripts/botcite.js +5021 -0
- package/scripts/citeclaw.js +10 -0
- package/server.js +12 -0
- package/spec.yaml +156 -0
- package/targets.yaml +2 -0
- package/vendor/translators-official/ABC News Australia.js +224 -0
- package/vendor/translators-official/ACLS Humanities EBook.js +165 -0
- package/vendor/translators-official/ACLWeb.js +600 -0
- package/vendor/translators-official/ACM Digital Library.js +708 -0
- package/vendor/translators-official/ACM Queue.js +391 -0
- package/vendor/translators-official/ACS Publications.js +633 -0
- package/vendor/translators-official/ADS Bibcode.js +664 -0
- package/vendor/translators-official/AEA Web.js +450 -0
- package/vendor/translators-official/AGRIS.js +311 -0
- package/vendor/translators-official/AIP.js +295 -0
- package/vendor/translators-official/AMS Journals.js +136 -0
- package/vendor/translators-official/AMS MathSciNet (Legacy).js +313 -0
- package/vendor/translators-official/AMS MathSciNet.js +288 -0
- package/vendor/translators-official/APA PsycNET.js +915 -0
- package/vendor/translators-official/APN.ru.js +132 -0
- package/vendor/translators-official/APS-Physics.js +204 -0
- package/vendor/translators-official/APS.js +542 -0
- package/vendor/translators-official/ARTFL Encyclopedie.js +283 -0
- package/vendor/translators-official/ARTnews.js +155 -0
- package/vendor/translators-official/ARTstor.js +619 -0
- package/vendor/translators-official/ASCE.js +199 -0
- package/vendor/translators-official/ASCO Meeting Library.js +153 -0
- package/vendor/translators-official/ASTIS.js +337 -0
- package/vendor/translators-official/ATS International Journal.js +290 -0
- package/vendor/translators-official/Access Engineering.js +384 -0
- package/vendor/translators-official/Access Medicine.js +343 -0
- package/vendor/translators-official/Access Science.js +391 -0
- package/vendor/translators-official/Adam Matthew Digital.js +405 -0
- package/vendor/translators-official/Agencia del ISBN.js +77 -0
- package/vendor/translators-official/Ahval News.js +309 -0
- package/vendor/translators-official/Air University Journals.js +236 -0
- package/vendor/translators-official/Airiti.js +423 -0
- package/vendor/translators-official/Alexander Street Press.js +198 -0
- package/vendor/translators-official/AllAfrica.js +291 -0
- package/vendor/translators-official/Alsharekh.js +242 -0
- package/vendor/translators-official/AlterNet.js +134 -0
- package/vendor/translators-official/Aluka.js +261 -0
- package/vendor/translators-official/Amazon.js +1043 -0
- package/vendor/translators-official/American Archive of Public Broadcasting.js +592 -0
- package/vendor/translators-official/American Institute of Aeronautics and Astronautics.js +210 -0
- package/vendor/translators-official/American Prospect.js +114 -0
- package/vendor/translators-official/Anarchist Library.js +382 -0
- package/vendor/translators-official/Ancestry.com US Federal Census.js +164 -0
- package/vendor/translators-official/Annual Reviews.js +329 -0
- package/vendor/translators-official/Antikvarium.hu.js +280 -0
- package/vendor/translators-official/AquaDocs.js +390 -0
- package/vendor/translators-official/Archeion.js +249 -0
- package/vendor/translators-official/Archiv fuer Sozialgeschichte.js +157 -0
- package/vendor/translators-official/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +179 -0
- package/vendor/translators-official/Archives Canada.js +142 -0
- package/vendor/translators-official/Ariana News.js +203 -0
- package/vendor/translators-official/Art Institute of Chicago.js +279 -0
- package/vendor/translators-official/Artefacts Canada.js +192 -0
- package/vendor/translators-official/Artforum.js +438 -0
- package/vendor/translators-official/Atlanta Journal-Constitution.js +311 -0
- package/vendor/translators-official/Atypon Journals.js +1204 -0
- package/vendor/translators-official/AustLII and NZLII.js +604 -0
- package/vendor/translators-official/Australian Dictionary of Biography.js +196 -0
- package/vendor/translators-official/BAILII.js +176 -0
- package/vendor/translators-official/BBC Genome.js +254 -0
- package/vendor/translators-official/BBC.js +430 -0
- package/vendor/translators-official/BIBSYS.js +112 -0
- package/vendor/translators-official/BOCC.js +217 -0
- package/vendor/translators-official/BOE.js +229 -0
- package/vendor/translators-official/BOFiP-Impots.js +132 -0
- package/vendor/translators-official/Baidu Scholar.js +276 -0
- package/vendor/translators-official/Bangkok Post.js +216 -0
- package/vendor/translators-official/Baruch Foundation.js +175 -0
- package/vendor/translators-official/Beobachter.js +175 -0
- package/vendor/translators-official/Bezneng Gajit.js +92 -0
- package/vendor/translators-official/BibLaTeX.js +888 -0
- package/vendor/translators-official/BibTeX.js +4236 -0
- package/vendor/translators-official/Biblio.com.js +216 -0
- package/vendor/translators-official/Bibliontology RDF.js +1166 -0
- package/vendor/translators-official/Biblioteca Nacional de Maestros.js +213 -0
- package/vendor/translators-official/Bibliotheque et Archives Nationale du Quebec (Pistard).js +147 -0
- package/vendor/translators-official/Bibliotheque et Archives Nationales du Quebec.js +266 -0
- package/vendor/translators-official/Bibliotheque nationale de France.js +872 -0
- package/vendor/translators-official/BioMed Central.js +585 -0
- package/vendor/translators-official/BioOne.js +233 -0
- package/vendor/translators-official/Bioconductor.js +343 -0
- package/vendor/translators-official/Blaetter.js +192 -0
- package/vendor/translators-official/Blogger.js +244 -0
- package/vendor/translators-official/Bloomberg.js +205 -0
- package/vendor/translators-official/Bloomsbury Food Library.js +296 -0
- package/vendor/translators-official/Bluesky.js +195 -0
- package/vendor/translators-official/BnF ISBN.js +129 -0
- package/vendor/translators-official/Bookmarks.js +282 -0
- package/vendor/translators-official/Bookshop.org.js +223 -0
- package/vendor/translators-official/Boston Review.js +332 -0
- package/vendor/translators-official/Bosworth Toller's Anglo-Saxon Dictionary Online.js +496 -0
- package/vendor/translators-official/Bracero History Archive.js +200 -0
- package/vendor/translators-official/Brill.js +434 -0
- package/vendor/translators-official/Brukerhandboken.js +153 -0
- package/vendor/translators-official/Bryn Mawr Classical Review.js +303 -0
- package/vendor/translators-official/Bundesgesetzblatt.js +231 -0
- package/vendor/translators-official/Business Standard.js +151 -0
- package/vendor/translators-official/CABI - CAB Abstracts.js +317 -0
- package/vendor/translators-official/CAOD.js +260 -0
- package/vendor/translators-official/CBC.js +439 -0
- package/vendor/translators-official/CCfr (BnF).js +162 -0
- package/vendor/translators-official/CERN Document Server.js +277 -0
- package/vendor/translators-official/CEUR Workshop Proceedings.js +145 -0
- package/vendor/translators-official/CFF References.js +170 -0
- package/vendor/translators-official/CFF.js +113 -0
- package/vendor/translators-official/CIA World Factbook.js +128 -0
- package/vendor/translators-official/CLACSO.js +226 -0
- package/vendor/translators-official/CLASE.js +135 -0
- package/vendor/translators-official/CNKI.js +731 -0
- package/vendor/translators-official/COBISS.js +1945 -0
- package/vendor/translators-official/COinS.js +336 -0
- package/vendor/translators-official/CQ Press.js +418 -0
- package/vendor/translators-official/CROSBI.js +227 -0
- package/vendor/translators-official/CSIRO Publishing.js +139 -0
- package/vendor/translators-official/CSL JSON.js +203 -0
- package/vendor/translators-official/CSV.js +294 -0
- package/vendor/translators-official/Cairn.info.js +368 -0
- package/vendor/translators-official/CalMatters.js +228 -0
- package/vendor/translators-official/Calisphere.js +355 -0
- package/vendor/translators-official/Camara Brasileira do Livro ISBN.js +842 -0
- package/vendor/translators-official/Cambridge Core.js +580 -0
- package/vendor/translators-official/Cambridge Engage Preprints.js +276 -0
- package/vendor/translators-official/CanLII.js +284 -0
- package/vendor/translators-official/Canada.com.js +171 -0
- package/vendor/translators-official/Canadian Letters and Images.js +148 -0
- package/vendor/translators-official/Canadiana.ca.js +196 -0
- package/vendor/translators-official/Cascadilla Proceedings Project.js +390 -0
- package/vendor/translators-official/Cell Press.js +516 -0
- package/vendor/translators-official/Central and Eastern European Online Library Journals.js +313 -0
- package/vendor/translators-official/Champlain Society - Collection.js +220 -0
- package/vendor/translators-official/ChatGPT.js +185 -0
- package/vendor/translators-official/Chicago Journal of Theoretical Computer Science.js +203 -0
- package/vendor/translators-official/Christian Science Monitor.js +148 -0
- package/vendor/translators-official/Chronicling America.js +131 -0
- package/vendor/translators-official/CiNii Research.js +168 -0
- package/vendor/translators-official/Citavi 5 XML.js +516 -0
- package/vendor/translators-official/CiteSeer.js +196 -0
- package/vendor/translators-official/Citizen Lab.js +347 -0
- package/vendor/translators-official/Civilization.ca.js +146 -0
- package/vendor/translators-official/Climate Change and Human Health Literature Portal.js +283 -0
- package/vendor/translators-official/Clinical Key.js +367 -0
- package/vendor/translators-official/Code4Lib Journal.js +143 -0
- package/vendor/translators-official/Colorado State Legislature.js +215 -0
- package/vendor/translators-official/Columbia University Press.js +238 -0
- package/vendor/translators-official/Common-Place.js +218 -0
- package/vendor/translators-official/Computer History Museum Archive.js +1319 -0
- package/vendor/translators-official/Copernicus.js +461 -0
- package/vendor/translators-official/Cornell LII.js +252 -0
- package/vendor/translators-official/Cornell University Press.js +235 -0
- package/vendor/translators-official/CourtListener.js +265 -0
- package/vendor/translators-official/Crossref REST.js +1757 -0
- package/vendor/translators-official/Crossref Unixref XML.js +965 -0
- package/vendor/translators-official/Current Affairs.js +160 -0
- package/vendor/translators-official/DABI.js +476 -0
- package/vendor/translators-official/DAI-Zenon.js +392 -0
- package/vendor/translators-official/DART-Europe.js +176 -0
- package/vendor/translators-official/DBLP Computer Science Bibliography.js +462 -0
- package/vendor/translators-official/DBpia.js +233 -0
- package/vendor/translators-official/DEPATISnet.js +373 -0
- package/vendor/translators-official/DOAJ.js +243 -0
- package/vendor/translators-official/DOI Content Negotiation.js +352 -0
- package/vendor/translators-official/DOI.js +322 -0
- package/vendor/translators-official/DPLA.js +425 -0
- package/vendor/translators-official/DSpace Intermediate Metadata.js +208 -0
- package/vendor/translators-official/Dagens Nyheter.js +369 -0
- package/vendor/translators-official/Dagstuhl Research Online Publication Server.js +276 -0
- package/vendor/translators-official/Dar Almandumah.js +253 -0
- package/vendor/translators-official/Data.gov.js +225 -0
- package/vendor/translators-official/Databrary.js +184 -0
- package/vendor/translators-official/Datacite JSON.js +1182 -0
- package/vendor/translators-official/Dataverse.js +418 -0
- package/vendor/translators-official/Daum News.js +139 -0
- package/vendor/translators-official/De Gruyter Brill.js +460 -0
- package/vendor/translators-official/Defense Technical Information Center.js +146 -0
- package/vendor/translators-official/Delpher.js +413 -0
- package/vendor/translators-official/Demographic Research.js +164 -0
- package/vendor/translators-official/Denik CZ.js +273 -0
- package/vendor/translators-official/Der Freitag.js +236 -0
- package/vendor/translators-official/Der Spiegel.js +479 -0
- package/vendor/translators-official/Desiring God.js +216 -0
- package/vendor/translators-official/Deutsche Fotothek.js +364 -0
- package/vendor/translators-official/Deutsche Nationalbibliothek.js +594 -0
- package/vendor/translators-official/Dialnet.js +258 -0
- package/vendor/translators-official/Die Zeit.js +378 -0
- package/vendor/translators-official/DigiZeitschriften.js +269 -0
- package/vendor/translators-official/Digital Humanities Quarterly.js +207 -0
- package/vendor/translators-official/Digital Spy.js +215 -0
- package/vendor/translators-official/Dimensions.js +233 -0
- package/vendor/translators-official/Douban.js +316 -0
- package/vendor/translators-official/Dreier Neuerscheinungsdienst.js +209 -0
- package/vendor/translators-official/DrugBank.ca.js +209 -0
- package/vendor/translators-official/Dryad Digital Repository.js +323 -0
- package/vendor/translators-official/Duke University Press Books.js +250 -0
- package/vendor/translators-official/E-periodica Switzerland.js +347 -0
- package/vendor/translators-official/EBSCO Discovery Layer.js +159 -0
- package/vendor/translators-official/EBSCOhost.js +592 -0
- package/vendor/translators-official/EIDR.js +184 -0
- package/vendor/translators-official/EPA National Library Catalog.js +245 -0
- package/vendor/translators-official/ERIC.js +986 -0
- package/vendor/translators-official/ESpacenet.js +465 -0
- package/vendor/translators-official/EUR-Lex.js +418 -0
- package/vendor/translators-official/Eastview.js +336 -0
- package/vendor/translators-official/Edinburgh University Press Journals.js +178 -0
- package/vendor/translators-official/Education Week.js +197 -0
- package/vendor/translators-official/El Comercio (Peru).js +347 -0
- package/vendor/translators-official/El Pais.js +262 -0
- package/vendor/translators-official/Electronic Colloquium on Computational Complexity.js +230 -0
- package/vendor/translators-official/Elicit.js +120 -0
- package/vendor/translators-official/Elsevier Health Journals.js +531 -0
- package/vendor/translators-official/Elsevier Pure.js +420 -0
- package/vendor/translators-official/Embedded Metadata.js +1978 -0
- package/vendor/translators-official/Emerald Insight.js +626 -0
- package/vendor/translators-official/Encyclopedia of Chicago.js +162 -0
- package/vendor/translators-official/Encyclopedia of Korean Culture.js +221 -0
- package/vendor/translators-official/Endnote XML.js +1407 -0
- package/vendor/translators-official/Engineering Village.js +139 -0
- package/vendor/translators-official/Envidat.js +331 -0
- package/vendor/translators-official/Epicurious.js +144 -0
- package/vendor/translators-official/Erudit.js +272 -0
- package/vendor/translators-official/Euclid.js +220 -0
- package/vendor/translators-official/EurasiaNet.js +109 -0
- package/vendor/translators-official/EurogamerUSgamer.js +380 -0
- package/vendor/translators-official/Europe PMC.js +448 -0
- package/vendor/translators-official/Evernote.js +104 -0
- package/vendor/translators-official/F1000 Research.js +655 -0
- package/vendor/translators-official/FAO Knowledge Repository.js +598 -0
- package/vendor/translators-official/FAOLEX Database.js +811 -0
- package/vendor/translators-official/FAZ.NET.js +231 -0
- package/vendor/translators-official/Fachportal Padagogik.js +839 -0
- package/vendor/translators-official/Factiva.js +302 -0
- package/vendor/translators-official/Failed Architecture.js +114 -0
- package/vendor/translators-official/Fairfax Australia.js +200 -0
- package/vendor/translators-official/Fatcat.js +425 -0
- package/vendor/translators-official/Figshare.js +191 -0
- package/vendor/translators-official/Financial Times.js +187 -0
- package/vendor/translators-official/Finna.js +357 -0
- package/vendor/translators-official/Flickr.js +318 -0
- package/vendor/translators-official/Foreign Affairs.js +485 -0
- package/vendor/translators-official/Foreign Policy.js +146 -0
- package/vendor/translators-official/FreeCite.js +95 -0
- package/vendor/translators-official/FreePatentsOnline.js +265 -0
- package/vendor/translators-official/Frieze.js +243 -0
- package/vendor/translators-official/Frontiers.js +667 -0
- package/vendor/translators-official/GMS German Medical Science.js +319 -0
- package/vendor/translators-official/GPO Access e-CFR.js +134 -0
- package/vendor/translators-official/Gale Databases.js +324 -0
- package/vendor/translators-official/GaleGDC.js +189 -0
- package/vendor/translators-official/Galegroup.js +327 -0
- package/vendor/translators-official/Gallica.js +194 -0
- package/vendor/translators-official/Game Studies.js +155 -0
- package/vendor/translators-official/GameSpot.js +199 -0
- package/vendor/translators-official/GameStar GamePro.js +198 -0
- package/vendor/translators-official/Gasyrlar Awazy.js +156 -0
- package/vendor/translators-official/Gemeinsamer Bibliotheksverbund ISBN.js +23 -0
- package/vendor/translators-official/Gene Ontology.js +128 -0
- package/vendor/translators-official/GitHub.js +501 -0
- package/vendor/translators-official/Globes.js +243 -0
- package/vendor/translators-official/Gmail.js +64 -0
- package/vendor/translators-official/Goodreads.js +219 -0
- package/vendor/translators-official/Google Books.js +552 -0
- package/vendor/translators-official/Google Gemini.js +116 -0
- package/vendor/translators-official/Google Patents.js +959 -0
- package/vendor/translators-official/Google Play.js +186 -0
- package/vendor/translators-official/Google Presentation.js +104 -0
- package/vendor/translators-official/Google Research.js +221 -0
- package/vendor/translators-official/Google Scholar.js +1361 -0
- package/vendor/translators-official/Gulag Many Days, Many Lives.js +179 -0
- package/vendor/translators-official/HAL.js +536 -0
- package/vendor/translators-official/HCSP.js +312 -0
- package/vendor/translators-official/HUDOC.js +650 -0
- package/vendor/translators-official/Haaretz.js +562 -0
- package/vendor/translators-official/Habr.js +232 -0
- package/vendor/translators-official/Handelszeitung.js +273 -0
- package/vendor/translators-official/Hanrei Watch.js +123 -0
- package/vendor/translators-official/Harper's Magazine.js +365 -0
- package/vendor/translators-official/Harvard Business Review.js +326 -0
- package/vendor/translators-official/Harvard Caselaw Access Project.js +244 -0
- package/vendor/translators-official/Harvard University Press Books.js +286 -0
- package/vendor/translators-official/HathiTrust.js +311 -0
- package/vendor/translators-official/HeinOnline.js +280 -0
- package/vendor/translators-official/Heise.js +200 -0
- package/vendor/translators-official/Herder.js +236 -0
- package/vendor/translators-official/HighBeam.js +198 -0
- package/vendor/translators-official/HighWire 2.0.js +1355 -0
- package/vendor/translators-official/HighWire.js +209 -0
- package/vendor/translators-official/Hindawi Publishers.js +177 -0
- package/vendor/translators-official/Hispanic-American Periodical Index.js +236 -0
- package/vendor/translators-official/Homeland Security Digital Library.js +426 -0
- package/vendor/translators-official/Hrvatska enciklopedija.js +118 -0
- package/vendor/translators-official/Huff Post.js +223 -0
- package/vendor/translators-official/Human Rights Watch.js +450 -0
- package/vendor/translators-official/IBISWorld.js +171 -0
- package/vendor/translators-official/IDEA ALM.js +536 -0
- package/vendor/translators-official/IEEE Computer Society.js +429 -0
- package/vendor/translators-official/IEEE Xplore.js +1000 -0
- package/vendor/translators-official/IETF.js +451 -0
- package/vendor/translators-official/IGN.js +136 -0
- package/vendor/translators-official/IMDb.js +566 -0
- package/vendor/translators-official/INSPIRE.js +247 -0
- package/vendor/translators-official/IPCC.js +757 -0
- package/vendor/translators-official/ISTC.js +181 -0
- package/vendor/translators-official/Idref.js +179 -0
- package/vendor/translators-official/In These Times.js +196 -0
- package/vendor/translators-official/Ined.js +558 -0
- package/vendor/translators-official/InfoTrac.js +279 -0
- package/vendor/translators-official/Informationssystem Medienpaedagogik.js +305 -0
- package/vendor/translators-official/IngentaConnect.js +312 -0
- package/vendor/translators-official/Inside Higher Ed.js +167 -0
- package/vendor/translators-official/Insignia OPAC.js +114 -0
- package/vendor/translators-official/Institute of Contemporary Art.js +180 -0
- package/vendor/translators-official/Institute of Physics.js +340 -0
- package/vendor/translators-official/Integrum.js +173 -0
- package/vendor/translators-official/Intellixir.js +264 -0
- package/vendor/translators-official/Inter-Research Science Center.js +185 -0
- package/vendor/translators-official/International Nuclear Information System.js +285 -0
- package/vendor/translators-official/Internet Archive Scholar.js +106 -0
- package/vendor/translators-official/Internet Archive Wayback Machine.js +152 -0
- package/vendor/translators-official/Internet Archive.js +552 -0
- package/vendor/translators-official/InvenioRDM.js +1250 -0
- package/vendor/translators-official/Isidore.js +235 -0
- package/vendor/translators-official/J-Stage.js +272 -0
- package/vendor/translators-official/JETS.js +122 -0
- package/vendor/translators-official/JISC Historical Texts.js +273 -0
- package/vendor/translators-official/JRC Publications Repository.js +569 -0
- package/vendor/translators-official/JSTOR.js +821 -0
- package/vendor/translators-official/Jahrbuch.js +213 -0
- package/vendor/translators-official/Japan Times Online.js +138 -0
- package/vendor/translators-official/Journal of Electronic Publishing.js +147 -0
- package/vendor/translators-official/Journal of Extension.js +288 -0
- package/vendor/translators-official/Journal of Machine Learning Research.js +441 -0
- package/vendor/translators-official/Journal of Religion and Society.js +174 -0
- package/vendor/translators-official/JurPC.js +274 -0
- package/vendor/translators-official/Juricaf.js +141 -0
- package/vendor/translators-official/Juris.js +728 -0
- package/vendor/translators-official/K10plus ISBN.js +386 -0
- package/vendor/translators-official/KStudy.js +632 -0
- package/vendor/translators-official/Kanopy.js +358 -0
- package/vendor/translators-official/Khaama Press.js +249 -0
- package/vendor/translators-official/KiM.js +259 -0
- package/vendor/translators-official/KitapYurdu.com.js +376 -0
- package/vendor/translators-official/Kommersant.js +174 -0
- package/vendor/translators-official/Korean National Library.js +621 -0
- package/vendor/translators-official/L'Annee Philologique.js +267 -0
- package/vendor/translators-official/LA Times.js +239 -0
- package/vendor/translators-official/LIBRIS ISBN.js +103 -0
- package/vendor/translators-official/LIVIVO.js +260 -0
- package/vendor/translators-official/LWN.net.js +350 -0
- package/vendor/translators-official/La Croix.js +237 -0
- package/vendor/translators-official/La Nacion (Argentina).js +231 -0
- package/vendor/translators-official/La Presse.js +218 -0
- package/vendor/translators-official/La Republica (Peru).js +174 -0
- package/vendor/translators-official/Lagen.nu.js +214 -0
- package/vendor/translators-official/Landesbibliographie Baden-Wurttemberg.js +324 -0
- package/vendor/translators-official/Lapham's Quarterly.js +1062 -0
- package/vendor/translators-official/Le Devoir.js +167 -0
- package/vendor/translators-official/Le Figaro.js +225 -0
- package/vendor/translators-official/Le Maitron.js +484 -0
- package/vendor/translators-official/Le Monde.js +245 -0
- package/vendor/translators-official/Le monde diplomatique.js +200 -0
- package/vendor/translators-official/Legifrance.js +641 -0
- package/vendor/translators-official/Legislative Insight.js +406 -0
- package/vendor/translators-official/Lexis+.js +264 -0
- package/vendor/translators-official/LexisNexis.js +505 -0
- package/vendor/translators-official/Libraries Tasmania.js +778 -0
- package/vendor/translators-official/Library Catalog (Aleph).js +385 -0
- package/vendor/translators-official/Library Catalog (Amicus).js +254 -0
- package/vendor/translators-official/Library Catalog (Aquabrowser).js +253 -0
- package/vendor/translators-official/Library Catalog (BiblioCommons).js +249 -0
- package/vendor/translators-official/Library Catalog (Blacklight).js +341 -0
- package/vendor/translators-official/Library Catalog (Capita Prism).js +162 -0
- package/vendor/translators-official/Library Catalog (DRA).js +203 -0
- package/vendor/translators-official/Library Catalog (Dynix).js +315 -0
- package/vendor/translators-official/Library Catalog (EBSCO Locate).js +442 -0
- package/vendor/translators-official/Library Catalog (Encore).js +211 -0
- package/vendor/translators-official/Library Catalog (InnoPAC).js +305 -0
- package/vendor/translators-official/Library Catalog (Koha).js +225 -0
- package/vendor/translators-official/Library Catalog (Mango).js +285 -0
- package/vendor/translators-official/Library Catalog (OPALS).js +200 -0
- package/vendor/translators-official/Library Catalog (PICA).js +2120 -0
- package/vendor/translators-official/Library Catalog (PICA2).js +331 -0
- package/vendor/translators-official/Library Catalog (Pika).js +488 -0
- package/vendor/translators-official/Library Catalog (Polaris).js +183 -0
- package/vendor/translators-official/Library Catalog (Quolto).js +320 -0
- package/vendor/translators-official/Library Catalog (RERO ILS).js +754 -0
- package/vendor/translators-official/Library Catalog (SIRSI eLibrary).js +407 -0
- package/vendor/translators-official/Library Catalog (SIRSI).js +452 -0
- package/vendor/translators-official/Library Catalog (SLIMS).js +146 -0
- package/vendor/translators-official/Library Catalog (TIND ILS).js +773 -0
- package/vendor/translators-official/Library Catalog (TLCYouSeeMore).js +132 -0
- package/vendor/translators-official/Library Catalog (TinREAD).js +277 -0
- package/vendor/translators-official/Library Catalog (VTLS).js +125 -0
- package/vendor/translators-official/Library Catalog (Visual Library 2021).js +765 -0
- package/vendor/translators-official/Library Catalog (Voyager 7).js +199 -0
- package/vendor/translators-official/Library Catalog (Voyager).js +212 -0
- package/vendor/translators-official/Library Genesis.js +337 -0
- package/vendor/translators-official/Library Hub Discover.js +359 -0
- package/vendor/translators-official/Library of Congress Digital Collections.js +869 -0
- package/vendor/translators-official/Library of Congress ISBN.js +86 -0
- package/vendor/translators-official/LingBuzz.js +359 -0
- package/vendor/translators-official/Lippincott Williams and Wilkins.js +341 -0
- package/vendor/translators-official/Literary Hub.js +950 -0
- package/vendor/translators-official/Litres.js +236 -0
- package/vendor/translators-official/LiveJournal.js +219 -0
- package/vendor/translators-official/London Review of Books.js +291 -0
- package/vendor/translators-official/LookUs.js +260 -0
- package/vendor/translators-official/Lulu.js +264 -0
- package/vendor/translators-official/MAB2.js +373 -0
- package/vendor/translators-official/MARC.js +1080 -0
- package/vendor/translators-official/MARCXML.js +489 -0
- package/vendor/translators-official/MCV.js +258 -0
- package/vendor/translators-official/MDPI Journals.js +356 -0
- package/vendor/translators-official/MEDLINEnbib.js +1561 -0
- package/vendor/translators-official/METS.js +384 -0
- package/vendor/translators-official/MIDAS Journals.js +343 -0
- package/vendor/translators-official/MIT Press Books.js +637 -0
- package/vendor/translators-official/MODS.js +2545 -0
- package/vendor/translators-official/MPG PuRe.js +541 -0
- package/vendor/translators-official/Mailman.js +136 -0
- package/vendor/translators-official/Mainichi Daily News.js +189 -0
- package/vendor/translators-official/Mastodon.js +198 -0
- package/vendor/translators-official/Matbugat.ru.js +110 -0
- package/vendor/translators-official/Max Planck Institute for the History of Science Virtual Laboratory Library.js +136 -0
- package/vendor/translators-official/Medium.js +208 -0
- package/vendor/translators-official/MetaLib.js +126 -0
- package/vendor/translators-official/Microbiology Society Journals.js +343 -0
- package/vendor/translators-official/Microsoft Academic.js +424 -0
- package/vendor/translators-official/Mikromarc.js +207 -0
- package/vendor/translators-official/Milli Kutuphane.js +244 -0
- package/vendor/translators-official/Musee du Louvre.js +265 -0
- package/vendor/translators-official/NASA ADS.js +889 -0
- package/vendor/translators-official/NASA NTRS.js +610 -0
- package/vendor/translators-official/NCBI Nucleotide.js +227 -0
- package/vendor/translators-official/NPR.js +341 -0
- package/vendor/translators-official/NRC Research Press.js +181 -0
- package/vendor/translators-official/NRC.nl.js +226 -0
- package/vendor/translators-official/NTSB Accident Reports.js +226 -0
- package/vendor/translators-official/NYPL Menus.js +275 -0
- package/vendor/translators-official/NYPL Research Catalog.js +458 -0
- package/vendor/translators-official/NYTimes.com.js +947 -0
- package/vendor/translators-official/NZZ.ch.js +272 -0
- package/vendor/translators-official/Nagoya University OPAC.js +336 -0
- package/vendor/translators-official/National Academies Press.js +243 -0
- package/vendor/translators-official/National Agriculture Library.js +524 -0
- package/vendor/translators-official/National Archives UK Case Law.js +509 -0
- package/vendor/translators-official/National Archives of Australia.js +522 -0
- package/vendor/translators-official/National Archives of South Africa.js +122 -0
- package/vendor/translators-official/National Bureau of Economic Research.js +363 -0
- package/vendor/translators-official/National Diet Library Catalogue.js +333 -0
- package/vendor/translators-official/National Gallery of Art - USA.js +149 -0
- package/vendor/translators-official/National Gallery of Australia.js +252 -0
- package/vendor/translators-official/National Library of Australia (new catalog).js +223 -0
- package/vendor/translators-official/National Library of Belarus.js +171 -0
- package/vendor/translators-official/National Library of Norway.js +310 -0
- package/vendor/translators-official/National Library of Poland ISBN.js +140 -0
- package/vendor/translators-official/National Post.js +186 -0
- package/vendor/translators-official/National Technical Reports Library.js +276 -0
- package/vendor/translators-official/National Transportation Library ROSA P.js +562 -0
- package/vendor/translators-official/Nature Publishing Group.js +3394 -0
- package/vendor/translators-official/Neural Information Processing Systems.js +385 -0
- package/vendor/translators-official/New Left Review.js +245 -0
- package/vendor/translators-official/New Zealand Herald.js +282 -0
- package/vendor/translators-official/Newlines Magazine.js +190 -0
- package/vendor/translators-official/News Corp Australia.js +251 -0
- package/vendor/translators-official/NewsBank.js +202 -0
- package/vendor/translators-official/NewsnetTamedia.js +509 -0
- package/vendor/translators-official/Noor Digital Library.js +267 -0
- package/vendor/translators-official/Note HTML.js +206 -0
- package/vendor/translators-official/Note Markdown.js +1638 -0
- package/vendor/translators-official/Notre Dame Philosophical Reviews.js +201 -0
- package/vendor/translators-official/OAPEN.js +331 -0
- package/vendor/translators-official/OCLC WorldCat FirstSearch.js +213 -0
- package/vendor/translators-official/OECD.js +216 -0
- package/vendor/translators-official/ORCID.js +104 -0
- package/vendor/translators-official/OSF Preprints.js +1287 -0
- package/vendor/translators-official/OSTI Energy Citations.js +202 -0
- package/vendor/translators-official/OVID Tagged.js +1226 -0
- package/vendor/translators-official/OZON.ru.js +465 -0
- package/vendor/translators-official/OhioLINK.js +43 -0
- package/vendor/translators-official/Old Bailey Online.js +315 -0
- package/vendor/translators-official/Open Conf.js +172 -0
- package/vendor/translators-official/Open Knowledge Repository.js +811 -0
- package/vendor/translators-official/Open WorldCat.js +1394 -0
- package/vendor/translators-official/OpenAlex JSON.js +740 -0
- package/vendor/translators-official/OpenAlex.js +444 -0
- package/vendor/translators-official/OpenEdition Books.js +155 -0
- package/vendor/translators-official/OpenEdition Journals.js +432 -0
- package/vendor/translators-official/Optical Society of America.js +562 -0
- package/vendor/translators-official/Optimization Online.js +418 -0
- package/vendor/translators-official/Ovid OCE.js +353 -0
- package/vendor/translators-official/Ovid.js +302 -0
- package/vendor/translators-official/Oxford Dictionaries Premium.js +194 -0
- package/vendor/translators-official/Oxford English Dictionary.js +122 -0
- package/vendor/translators-official/Oxford Music and Art Online.js +120 -0
- package/vendor/translators-official/Oxford Reference.js +202 -0
- package/vendor/translators-official/Oxford University Press.js +277 -0
- package/vendor/translators-official/PC Gamer.js +302 -0
- package/vendor/translators-official/PC Games.js +128 -0
- package/vendor/translators-official/PEI Archival Information Network.js +242 -0
- package/vendor/translators-official/PEP Web.js +165 -0
- package/vendor/translators-official/PKP Catalog Systems.js +1455 -0
- package/vendor/translators-official/PLoS Journals.js +284 -0
- package/vendor/translators-official/PRC History Review.js +298 -0
- package/vendor/translators-official/Pajhwok Afghan News.js +198 -0
- package/vendor/translators-official/Papers Past.js +509 -0
- package/vendor/translators-official/Paris Review.js +227 -0
- package/vendor/translators-official/Pastebin.js +199 -0
- package/vendor/translators-official/Patents - USPTO.js +210 -0
- package/vendor/translators-official/Peeters.js +587 -0
- package/vendor/translators-official/Perceiving Systems.js +350 -0
- package/vendor/translators-official/Perlego.js +416 -0
- package/vendor/translators-official/PhilPapers.js +233 -0
- package/vendor/translators-official/Philosopher's Imprint.js +169 -0
- package/vendor/translators-official/Pleade.js +329 -0
- package/vendor/translators-official/Polygon.js +270 -0
- package/vendor/translators-official/Potsdamer Neueste Nachrichten.js +188 -0
- package/vendor/translators-official/Premium Times.js +144 -0
- package/vendor/translators-official/Preprints.org.js +305 -0
- package/vendor/translators-official/Prime 9ja Online.js +402 -0
- package/vendor/translators-official/Primo 2018.js +126 -0
- package/vendor/translators-official/Primo Normalized XML.js +1075 -0
- package/vendor/translators-official/Primo.js +322 -0
- package/vendor/translators-official/ProMED.js +66 -0
- package/vendor/translators-official/ProQuest Ebook Central.js +226 -0
- package/vendor/translators-official/ProQuest PolicyFile.js +115 -0
- package/vendor/translators-official/ProQuest.js +2210 -0
- package/vendor/translators-official/Probing the Past.js +151 -0
- package/vendor/translators-official/Project Gutenberg.js +191 -0
- package/vendor/translators-official/Project MUSE.js +451 -0
- package/vendor/translators-official/Protein Data Bank.js +445 -0
- package/vendor/translators-official/PubFactory Journals.js +712 -0
- package/vendor/translators-official/PubMed Central.js +563 -0
- package/vendor/translators-official/PubMed XML.js +1240 -0
- package/vendor/translators-official/PubMed.js +1317 -0
- package/vendor/translators-official/PubPub.js +530 -0
- package/vendor/translators-official/Public Record Office Victoria.js +252 -0
- package/vendor/translators-official/Publications Office of the European Union.js +540 -0
- package/vendor/translators-official/Publications du Quebec.js +225 -0
- package/vendor/translators-official/PyPI.js +288 -0
- package/vendor/translators-official/Qatar Digital Library.js +802 -0
- package/vendor/translators-official/Queensland State Archives.js +303 -0
- package/vendor/translators-official/R-Packages.js +410 -0
- package/vendor/translators-official/RAND.js +283 -0
- package/vendor/translators-official/RDF.js +1782 -0
- package/vendor/translators-official/REDALYC.js +196 -0
- package/vendor/translators-official/RIS.js +7292 -0
- package/vendor/translators-official/RSC Publishing.js +250 -0
- package/vendor/translators-official/Radio Free Europe Radio Liberty.js +706 -0
- package/vendor/translators-official/RePEc - Econpapers.js +725 -0
- package/vendor/translators-official/RePEc - IDEAS.js +337 -0
- package/vendor/translators-official/Rechtspraak.nl.js +295 -0
- package/vendor/translators-official/RefWorks Tagged.js +1185 -0
- package/vendor/translators-official/ReferBibIX.js +463 -0
- package/vendor/translators-official/Regeringskansliet.js +89 -0
- package/vendor/translators-official/Research Square.js +335 -0
- package/vendor/translators-official/ResearchGate.js +394 -0
- package/vendor/translators-official/Retsinformation.js +348 -0
- package/vendor/translators-official/Reuters.js +255 -0
- package/vendor/translators-official/Rock, Paper, Shotgun.js +304 -0
- package/vendor/translators-official/Roll Call.js +173 -0
- package/vendor/translators-official/Russian State Library.js +1517 -0
- package/vendor/translators-official/SAE Papers.js +241 -0
- package/vendor/translators-official/SAGE Journals.js +429 -0
- package/vendor/translators-official/SAGE Knowledge.js +505 -0
- package/vendor/translators-official/SAILDART.js +364 -0
- package/vendor/translators-official/SALT Research Archives.js +196 -0
- package/vendor/translators-official/SFU IPinCH.js +946 -0
- package/vendor/translators-official/SIPRI.js +256 -0
- package/vendor/translators-official/SIRS Knowledge Source.js +546 -0
- package/vendor/translators-official/SLUB Dresden.js +300 -0
- package/vendor/translators-official/SORA.js +340 -0
- package/vendor/translators-official/SSOAR.js +399 -0
- package/vendor/translators-official/SSRN.js +235 -0
- package/vendor/translators-official/SVT Nyheter.js +381 -0
- package/vendor/translators-official/Sacramento Bee.js +274 -0
- package/vendor/translators-official/Safari Books Online.js +391 -0
- package/vendor/translators-official/Scholars Portal Journals.js +220 -0
- package/vendor/translators-official/Scholia.js +189 -0
- package/vendor/translators-official/Schweizer Radio und Fernsehen SRF.js +152 -0
- package/vendor/translators-official/SciELO.js +440 -0
- package/vendor/translators-official/ScienceDirect.js +1306 -0
- package/vendor/translators-official/Scopus.js +418 -0
- package/vendor/translators-official/Semantic Scholar.js +513 -0
- package/vendor/translators-official/Silverchair.js +886 -0
- package/vendor/translators-official/Slate.js +228 -0
- package/vendor/translators-official/SlideShare.js +112 -0
- package/vendor/translators-official/Springer Link.js +696 -0
- package/vendor/translators-official/Stack Exchange.js +134 -0
- package/vendor/translators-official/Standard Ebooks.js +198 -0
- package/vendor/translators-official/Stanford Encyclopedia of Philosophy.js +285 -0
- package/vendor/translators-official/Stanford University Press.js +343 -0
- package/vendor/translators-official/State Records Office of Western Australia.js +439 -0
- package/vendor/translators-official/Stitcher.js +141 -0
- package/vendor/translators-official/Store norske leksikon.js +291 -0
- package/vendor/translators-official/Stuff.co.nz.js +446 -0
- package/vendor/translators-official/Substack.js +237 -0
- package/vendor/translators-official/Sud Ouest.js +181 -0
- package/vendor/translators-official/Sueddeutsche.de.js +205 -0
- package/vendor/translators-official/Summon 2.js +117 -0
- package/vendor/translators-official/Superlib.js +647 -0
- package/vendor/translators-official/Svenska Dagbladet.js +274 -0
- package/vendor/translators-official/Sveriges radio.js +416 -0
- package/vendor/translators-official/TEI.js +648 -0
- package/vendor/translators-official/TV by the Numbers.js +194 -0
- package/vendor/translators-official/TVNZ.js +165 -0
- package/vendor/translators-official/Tagesspiegel.js +249 -0
- package/vendor/translators-official/Talis Aspire.js +316 -0
- package/vendor/translators-official/TalisPrism.js +445 -0
- package/vendor/translators-official/Tatknigafund.js +174 -0
- package/vendor/translators-official/Tatpressa.ru.js +121 -0
- package/vendor/translators-official/Taylor & Francis eBooks.js +334 -0
- package/vendor/translators-official/Taylor and Francis+NEJM.js +813 -0
- package/vendor/translators-official/Tesis Doctorals en Xarxa.js +233 -0
- package/vendor/translators-official/The Art Newspaper.js +268 -0
- package/vendor/translators-official/The Atlantic.js +535 -0
- package/vendor/translators-official/The Boston Globe.js +285 -0
- package/vendor/translators-official/The Chronicle of Higher Education.js +308 -0
- package/vendor/translators-official/The Daily Beast.js +183 -0
- package/vendor/translators-official/The Economic Times - The Times of India.js +305 -0
- package/vendor/translators-official/The Economist.js +207 -0
- package/vendor/translators-official/The Free Dictionary.js +58 -0
- package/vendor/translators-official/The Globe and Mail.js +241 -0
- package/vendor/translators-official/The Guardian.js +717 -0
- package/vendor/translators-official/The Hamilton Spectator.js +129 -0
- package/vendor/translators-official/The Hindu.js +318 -0
- package/vendor/translators-official/The Independent.js +184 -0
- package/vendor/translators-official/The Intercept.js +258 -0
- package/vendor/translators-official/The Met.js +276 -0
- package/vendor/translators-official/The Microfinance Gateway.js +174 -0
- package/vendor/translators-official/The Nation.js +188 -0
- package/vendor/translators-official/The National Archives (UK).js +242 -0
- package/vendor/translators-official/The New Republic.js +160 -0
- package/vendor/translators-official/The New York Review of Books.js +467 -0
- package/vendor/translators-official/The New Yorker.js +360 -0
- package/vendor/translators-official/The Open Library.js +220 -0
- package/vendor/translators-official/The Straits Times.js +528 -0
- package/vendor/translators-official/The Telegraph.js +337 -0
- package/vendor/translators-official/The Times and Sunday Times.js +180 -0
- package/vendor/translators-official/The Times of Israel.js +151 -0
- package/vendor/translators-official/TheMarker.js +108 -0
- package/vendor/translators-official/Theory of Computing.js +488 -0
- package/vendor/translators-official/ThesesFR.js +405 -0
- package/vendor/translators-official/Thieme.js +326 -0
- package/vendor/translators-official/Time.com.js +557 -0
- package/vendor/translators-official/TimesMachine.js +222 -0
- package/vendor/translators-official/Tony Blair Institute for Global Change.js +195 -0
- package/vendor/translators-official/Toronto Star.js +298 -0
- package/vendor/translators-official/Transportation Research Board.js +253 -0
- package/vendor/translators-official/Treesearch.js +535 -0
- package/vendor/translators-official/Trove.js +616 -0
- package/vendor/translators-official/Tumblr.js +179 -0
- package/vendor/translators-official/Twitter.js +413 -0
- package/vendor/translators-official/UChicago VuFind.js +907 -0
- package/vendor/translators-official/UNZ Print Archive.js +276 -0
- package/vendor/translators-official/UPCommons.js +227 -0
- package/vendor/translators-official/US National Archives Research Catalog.js +275 -0
- package/vendor/translators-official/USENIX.js +151 -0
- package/vendor/translators-official/Ubiquity Journals.js +228 -0
- package/vendor/translators-official/University Press Scholarship.js +301 -0
- package/vendor/translators-official/University of California Press Books.js +403 -0
- package/vendor/translators-official/University of Chicago Press Books.js +378 -0
- package/vendor/translators-official/University of Wisconsin-Madison Libraries Catalog.js +298 -0
- package/vendor/translators-official/Unqualified Dublin Core RDF.js +153 -0
- package/vendor/translators-official/UpToDate References.js +203 -0
- package/vendor/translators-official/Vanity Fair.js +242 -0
- package/vendor/translators-official/Verniana-Jules Verne Studies.js +190 -0
- package/vendor/translators-official/Verso Books.js +311 -0
- package/vendor/translators-official/Vice.js +445 -0
- package/vendor/translators-official/Victoria & Albert Museum.js +277 -0
- package/vendor/translators-official/Vimeo.js +188 -0
- package/vendor/translators-official/VoxEU.js +151 -0
- package/vendor/translators-official/WHO.js +458 -0
- package/vendor/translators-official/WIPO.js +189 -0
- package/vendor/translators-official/Wall Street Journal.js +809 -0
- package/vendor/translators-official/Wanfang Data.js +310 -0
- package/vendor/translators-official/Washington Monthly.js +195 -0
- package/vendor/translators-official/Washington Post.js +447 -0
- package/vendor/translators-official/Web of Science Nextgen.js +832 -0
- package/vendor/translators-official/Web of Science Tagged.js +1247 -0
- package/vendor/translators-official/Web of Science.js +228 -0
- package/vendor/translators-official/Welt Online.js +161 -0
- package/vendor/translators-official/WestLaw UK.js +190 -0
- package/vendor/translators-official/WikiLeaks PlusD.js +182 -0
- package/vendor/translators-official/Wikidata QuickStatements.js +324 -0
- package/vendor/translators-official/Wikidata.js +911 -0
- package/vendor/translators-official/Wikimedia Commons.js +285 -0
- package/vendor/translators-official/Wikipedia Citation Templates.js +432 -0
- package/vendor/translators-official/Wikipedia.js +385 -0
- package/vendor/translators-official/Wikisource.js +399 -0
- package/vendor/translators-official/Wikiwand.js +122 -0
- package/vendor/translators-official/Wiktionary.js +141 -0
- package/vendor/translators-official/Wildlife Biology in Practice.js +172 -0
- package/vendor/translators-official/Wiley Online Library.js +1412 -0
- package/vendor/translators-official/Wilson Center Digital Archive.js +321 -0
- package/vendor/translators-official/Winnipeg Free Press.js +204 -0
- package/vendor/translators-official/Wired.js +362 -0
- package/vendor/translators-official/Womennews.js +230 -0
- package/vendor/translators-official/World Digital Library.js +403 -0
- package/vendor/translators-official/World History Connected.js +185 -0
- package/vendor/translators-official/World Shakespeare Bibliography Online.js +595 -0
- package/vendor/translators-official/WorldCat Discovery Service.js +630 -0
- package/vendor/translators-official/XML ContextObject.js +274 -0
- package/vendor/translators-official/YPSF.js +224 -0
- package/vendor/translators-official/Yandex Books.js +265 -0
- package/vendor/translators-official/Ynet.js +171 -0
- package/vendor/translators-official/YouTube.js +209 -0
- package/vendor/translators-official/ZIPonline.js +267 -0
- package/vendor/translators-official/ZOBODAT.js +341 -0
- package/vendor/translators-official/Zotero RDF.js +588 -0
- package/vendor/translators-official/ZoteroBib.js +94 -0
- package/vendor/translators-official/arXiv.org.js +1100 -0
- package/vendor/translators-official/artnet.js +207 -0
- package/vendor/translators-official/beck-online.js +1339 -0
- package/vendor/translators-official/clinicaltrials.gov.js +331 -0
- package/vendor/translators-official/dLibra.js +367 -0
- package/vendor/translators-official/dejure.org.js +242 -0
- package/vendor/translators-official/dhistory.js +103 -0
- package/vendor/translators-official/digibib.net.js +245 -0
- package/vendor/translators-official/eLibrary.ru.js +867 -0
- package/vendor/translators-official/eLife.js +462 -0
- package/vendor/translators-official/eMJA.js +246 -0
- package/vendor/translators-official/eMedicine.js +123 -0
- package/vendor/translators-official/ePrint IACR.js +608 -0
- package/vendor/translators-official/ebrary.js +140 -0
- package/vendor/translators-official/etatar.ru.js +104 -0
- package/vendor/translators-official/feb-web.ru.js +167 -0
- package/vendor/translators-official/fishpond.co.nz.js +224 -0
- package/vendor/translators-official/fr-online.de.js +209 -0
- package/vendor/translators-official/govinfo.js +189 -0
- package/vendor/translators-official/informIT database.js +248 -0
- package/vendor/translators-official/io-port.js +68 -0
- package/vendor/translators-official/jurion.js +377 -0
- package/vendor/translators-official/mEDRA.js +597 -0
- package/vendor/translators-official/magazines.russ.ru.js +120 -0
- package/vendor/translators-official/medes.js +284 -0
- package/vendor/translators-official/newshub.co.nz.js +206 -0
- package/vendor/translators-official/newspapers.com.js +335 -0
- package/vendor/translators-official/openJur.js +161 -0
- package/vendor/translators-official/reddit.js +275 -0
- package/vendor/translators-official/sbn.it.js +186 -0
- package/vendor/translators-official/scinapse.js +273 -0
- package/vendor/translators-official/semantics Visual Library.js +643 -0
- package/vendor/translators-official/taz.de.js +200 -0
- package/vendor/translators-official/unAPI.js +481 -0
- package/vendor/translators-official/wiso.js +314 -0
- package/vendor/translators-official/zbMATH.js +278 -0
- package/vendor/translators-official/zotero.org.js +311 -0
- package/vendor/translators_CN/Angle.js +468 -0
- package/vendor/translators_CN/Baidu Baike.js +152 -0
- package/vendor/translators_CN/Baidu Scholar.js +639 -0
- package/vendor/translators_CN/Belt and Road Database.js +496 -0
- package/vendor/translators_CN/BiliBili.js +776 -0
- package/vendor/translators_CN/CCPINFO.js +416 -0
- package/vendor/translators_CN/CHINESE JOURNAL OF LAW.js +169 -0
- package/vendor/translators_CN/CNBKSY.js +385 -0
- package/vendor/translators_CN/CNKI CHKD.js +692 -0
- package/vendor/translators_CN/CNKI Gongjushu.js +271 -0
- package/vendor/translators_CN/CNKI Industry.js +726 -0
- package/vendor/translators_CN/CNKI Law.js +842 -0
- package/vendor/translators_CN/CNKI RefWorks.js +826 -0
- package/vendor/translators_CN/CNKI Refer.js +811 -0
- package/vendor/translators_CN/CNKI Scholar.js +656 -0
- package/vendor/translators_CN/CNKI TIKS.js +1028 -0
- package/vendor/translators_CN/CNKI e-Books.js +309 -0
- package/vendor/translators_CN/CNKI thinker.js +274 -0
- package/vendor/translators_CN/CNKI.js +2381 -0
- package/vendor/translators_CN/CNSDA.js +382 -0
- package/vendor/translators_CN/CQVIP Knowledge.js +969 -0
- package/vendor/translators_CN/CQVIP Qikan.js +418 -0
- package/vendor/translators_CN/CQVIP.js +686 -0
- package/vendor/translators_CN/CSDN.js +153 -0
- package/vendor/translators_CN/China Judgements Online.js +282 -0
- package/vendor/translators_CN/China Social Science Library.js +533 -0
- package/vendor/translators_CN/ChinaXiv.js +375 -0
- package/vendor/translators_CN/Cubox.js +246 -0
- package/vendor/translators_CN/Dangdang.js +176 -0
- package/vendor/translators_CN/Douban.js +984 -0
- package/vendor/translators_CN/Duxiu.js +746 -0
- package/vendor/translators_CN/E-Tiller.js +555 -0
- package/vendor/translators_CN/Encyclopedia of China 3rd.js +177 -0
- package/vendor/translators_CN/Founder.js +483 -0
- package/vendor/translators_CN/GFSOSO.js +694 -0
- package/vendor/translators_CN/Jd.js +235 -0
- package/vendor/translators_CN/Jikan Full Text Database.js +188 -0
- package/vendor/translators_CN/KouShare.js +139 -0
- package/vendor/translators_CN/LICENSE +661 -0
- package/vendor/translators_CN/Lawbank.js +818 -0
- package/vendor/translators_CN/MagTech.js +473 -0
- package/vendor/translators_CN/Modern History.js +788 -0
- package/vendor/translators_CN/NDLTD.js +404 -0
- package/vendor/translators_CN/NTU Digital Library of Buddhist Studies.js +957 -0
- package/vendor/translators_CN/National Public Service Platform for Standards Information - China.js +348 -0
- package/vendor/translators_CN/National Science and Technology Library - China.js +646 -0
- package/vendor/translators_CN/National Science and Technology Report Service - China.js +271 -0
- package/vendor/translators_CN/National Standards Open System - China.js +296 -0
- package/vendor/translators_CN/Ncpssd.js +555 -0
- package/vendor/translators_CN/PKULaw.js +1123 -0
- package/vendor/translators_CN/PatentStar.js +386 -0
- package/vendor/translators_CN/People's Daily Database.js +186 -0
- package/vendor/translators_CN/People's Daily Epaper.js +279 -0
- package/vendor/translators_CN/People's Daily Online.js +292 -0
- package/vendor/translators_CN/Pishu Database.js +383 -0
- package/vendor/translators_CN/ProQuestCN Thesis.js +329 -0
- package/vendor/translators_CN/Pss-System.js +199 -0
- package/vendor/translators_CN/PubScholar.js +588 -0
- package/vendor/translators_CN/Publications Data Center - China.js +1119 -0
- package/vendor/translators_CN/QStheory.js +251 -0
- package/vendor/translators_CN/RDFYBK.js +396 -0
- package/vendor/translators_CN/README.md +42 -0
- package/vendor/translators_CN/RHHZ.js +383 -0
- package/vendor/translators_CN/Rural Studies Database.js +402 -0
- package/vendor/translators_CN/SKCTK.js +177 -0
- package/vendor/translators_CN/Samson.js +768 -0
- package/vendor/translators_CN/SciEngine.js +450 -0
- package/vendor/translators_CN/Science Reading.js +338 -0
- package/vendor/translators_CN/Sina Weibo.js +254 -0
- package/vendor/translators_CN/Soopat.js +427 -0
- package/vendor/translators_CN/Spc.org.cn.js +275 -0
- package/vendor/translators_CN/Standard Full-text Database - NLC.js +230 -0
- package/vendor/translators_CN/SuperLib.js +757 -0
- package/vendor/translators_CN/TOAJ.js +422 -0
- package/vendor/translators_CN/Wanfang Data.js +3433 -0
- package/vendor/translators_CN/Wanfang Med.js +671 -0
- package/vendor/translators_CN/Web of Science Tagged.js +1341 -0
- package/vendor/translators_CN/Weixin.js +130 -0
- package/vendor/translators_CN/Wenjin.js +492 -0
- package/vendor/translators_CN/Xinhuanet.js +283 -0
- package/vendor/translators_CN/Yiigle.js +394 -0
- package/vendor/translators_CN/Zhihu.js +530 -0
- package/vendor/translators_CN/Zhihuiya.js +246 -0
- package/vendor/translators_CN/Zhizhen.js +869 -0
- package/vendor/translators_CN/chaoxingqikan.js +360 -0
- package/vendor/translators_CN/doc.taixueshu.js +355 -0
- package/vendor/translators_CN/dpaper.js +183 -0
- package/vendor/translators_CN/epaper.gmw.cn.js +286 -0
- package/vendor/translators_CN/flk.npc.gov.cn.js +344 -0
- package/vendor/translators_CN/gov.cn Policy.js +559 -0
- package/vendor/translators_CN/incoPat.js +195 -0
- package/vendor/translators_CN/pm.tsgyun.js +177 -0
- package/vendor/translators_CN/sanmin.com.tw.js +327 -0
- package/vendor/translators_CN/sharing.com.tw.js +333 -0
- package/vendor/translators_CN/stats.gov.cn.js +170 -0
- package/vendor/translators_CN/xiaoyuzhoufm.js +162 -0
- package/vendor/translators_CN/zhangqiaokeyan.js +1130 -0
- package/vendor/zotero/README.md +120 -0
- package/vendor/zotero/config/custom-environment-variables.json +3 -0
- package/vendor/zotero/config/default.json5 +16 -0
- package/vendor/zotero/config/production.json5 +7 -0
- package/vendor/zotero/config/test.json5 +4 -0
- package/vendor/zotero/modules/translate/README.md +43 -0
- package/vendor/zotero/modules/translate/src/debug.js +186 -0
- package/vendor/zotero/modules/translate/src/http.js +158 -0
- package/vendor/zotero/modules/translate/src/promise.js +73 -0
- package/vendor/zotero/modules/translate/src/proxy.js +354 -0
- package/vendor/zotero/modules/translate/src/rdf/identity.js +503 -0
- package/vendor/zotero/modules/translate/src/rdf/init.js +56 -0
- package/vendor/zotero/modules/translate/src/rdf/n3parser.js +1392 -0
- package/vendor/zotero/modules/translate/src/rdf/rdfparser.js +578 -0
- package/vendor/zotero/modules/translate/src/rdf/serialize.js +886 -0
- package/vendor/zotero/modules/translate/src/rdf/term.js +524 -0
- package/vendor/zotero/modules/translate/src/rdf/uri.js +147 -0
- package/vendor/zotero/modules/translate/src/repo.js +80 -0
- package/vendor/zotero/modules/translate/src/tlds.js +274 -0
- package/vendor/zotero/modules/translate/src/translation/sandboxManager.js +112 -0
- package/vendor/zotero/modules/translate/src/translation/translate.js +3283 -0
- package/vendor/zotero/modules/translate/src/translation/translate_item.js +120 -0
- package/vendor/zotero/modules/translate/src/translator.js +186 -0
- package/vendor/zotero/modules/translate/src/translators.js +174 -0
- package/vendor/zotero/modules/translate/src/utilities_translate.js +487 -0
- package/vendor/zotero/modules/translate/src/zotero.js +94 -0
- package/vendor/zotero/modules/translators/A Contra Corriente.js +206 -0
- package/vendor/zotero/modules/translators/ABC News Australia.js +224 -0
- package/vendor/zotero/modules/translators/ACLS Humanities EBook.js +165 -0
- package/vendor/zotero/modules/translators/ACLWeb.js +600 -0
- package/vendor/zotero/modules/translators/ACM Digital Library.js +710 -0
- package/vendor/zotero/modules/translators/ACS Publications.js +633 -0
- package/vendor/zotero/modules/translators/ADS Bibcode.js +664 -0
- package/vendor/zotero/modules/translators/AEA Web.js +450 -0
- package/vendor/zotero/modules/translators/AGRIS.js +311 -0
- package/vendor/zotero/modules/translators/AIP.js +295 -0
- package/vendor/zotero/modules/translators/AMS Journals.js +136 -0
- package/vendor/zotero/modules/translators/AMS MathSciNet (Legacy).js +313 -0
- package/vendor/zotero/modules/translators/AMS MathSciNet.js +288 -0
- package/vendor/zotero/modules/translators/APA PsycNET.js +915 -0
- package/vendor/zotero/modules/translators/APN.ru.js +132 -0
- package/vendor/zotero/modules/translators/APS-Physics.js +204 -0
- package/vendor/zotero/modules/translators/APS.js +542 -0
- package/vendor/zotero/modules/translators/ARTFL Encyclopedie.js +283 -0
- package/vendor/zotero/modules/translators/ARTnews.js +155 -0
- package/vendor/zotero/modules/translators/ARTstor.js +619 -0
- package/vendor/zotero/modules/translators/ASCE.js +199 -0
- package/vendor/zotero/modules/translators/ASCO Meeting Library.js +153 -0
- package/vendor/zotero/modules/translators/ASTIS.js +337 -0
- package/vendor/zotero/modules/translators/ATS International Journal.js +290 -0
- package/vendor/zotero/modules/translators/Access Engineering.js +384 -0
- package/vendor/zotero/modules/translators/Access Medicine.js +343 -0
- package/vendor/zotero/modules/translators/Access Science.js +391 -0
- package/vendor/zotero/modules/translators/Adam Matthew Digital.js +405 -0
- package/vendor/zotero/modules/translators/Agencia del ISBN.js +77 -0
- package/vendor/zotero/modules/translators/Ahval News.js +309 -0
- package/vendor/zotero/modules/translators/Air University Journals.js +236 -0
- package/vendor/zotero/modules/translators/Airiti.js +423 -0
- package/vendor/zotero/modules/translators/Alexander Street Press.js +198 -0
- package/vendor/zotero/modules/translators/AllAfrica.js +291 -0
- package/vendor/zotero/modules/translators/Alsharekh.js +242 -0
- package/vendor/zotero/modules/translators/AlterNet.js +134 -0
- package/vendor/zotero/modules/translators/Aluka.js +261 -0
- package/vendor/zotero/modules/translators/Amazon.js +1043 -0
- package/vendor/zotero/modules/translators/American Archive of Public Broadcasting.js +592 -0
- package/vendor/zotero/modules/translators/American Institute of Aeronautics and Astronautics.js +210 -0
- package/vendor/zotero/modules/translators/American Prospect.js +114 -0
- package/vendor/zotero/modules/translators/Ancestry.com US Federal Census.js +164 -0
- package/vendor/zotero/modules/translators/Annual Reviews.js +329 -0
- package/vendor/zotero/modules/translators/Antikvarium.hu.js +280 -0
- package/vendor/zotero/modules/translators/AquaDocs.js +390 -0
- package/vendor/zotero/modules/translators/Archeion.js +249 -0
- package/vendor/zotero/modules/translators/Archiv fuer Sozialgeschichte.js +157 -0
- package/vendor/zotero/modules/translators/Archive Ouverte en Sciences de l'Information et de la Communication (AOSIC).js +179 -0
- package/vendor/zotero/modules/translators/Archives Canada.js +142 -0
- package/vendor/zotero/modules/translators/Ariana News.js +203 -0
- package/vendor/zotero/modules/translators/Art Institute of Chicago.js +279 -0
- package/vendor/zotero/modules/translators/Artefacts Canada.js +192 -0
- package/vendor/zotero/modules/translators/Artforum.js +438 -0
- package/vendor/zotero/modules/translators/Atlanta Journal Constitution.js +155 -0
- package/vendor/zotero/modules/translators/Atlanta Journal-Constitution.js +311 -0
- package/vendor/zotero/modules/translators/Atypon Journals.js +1204 -0
- package/vendor/zotero/modules/translators/AustLII and NZLII.js +604 -0
- package/vendor/zotero/modules/translators/Australian Dictionary of Biography.js +196 -0
- package/vendor/zotero/modules/translators/BAILII.js +176 -0
- package/vendor/zotero/modules/translators/BBC Genome.js +254 -0
- package/vendor/zotero/modules/translators/BBC.js +430 -0
- package/vendor/zotero/modules/translators/BIBSYS.js +112 -0
- package/vendor/zotero/modules/translators/BOCC.js +217 -0
- package/vendor/zotero/modules/translators/BOE.js +229 -0
- package/vendor/zotero/modules/translators/BOFiP-Impots.js +132 -0
- package/vendor/zotero/modules/translators/Baidu Scholar.js +276 -0
- package/vendor/zotero/modules/translators/Bangkok Post.js +216 -0
- package/vendor/zotero/modules/translators/Baruch Foundation.js +175 -0
- package/vendor/zotero/modules/translators/Beobachter.js +175 -0
- package/vendor/zotero/modules/translators/Bezneng Gajit.js +92 -0
- package/vendor/zotero/modules/translators/BibLaTeX.js +888 -0
- package/vendor/zotero/modules/translators/BibTeX.js +4236 -0
- package/vendor/zotero/modules/translators/Biblio.com.js +216 -0
- package/vendor/zotero/modules/translators/Bibliontology RDF.js +1166 -0
- package/vendor/zotero/modules/translators/Biblioteca Nacional de Maestros.js +213 -0
- package/vendor/zotero/modules/translators/Bibliotheque et Archives Nationale du Quebec (Pistard).js +147 -0
- package/vendor/zotero/modules/translators/Bibliotheque et Archives Nationales du Quebec.js +266 -0
- package/vendor/zotero/modules/translators/Bibliotheque nationale de France.js +872 -0
- package/vendor/zotero/modules/translators/BioMed Central.js +585 -0
- package/vendor/zotero/modules/translators/BioOne.js +233 -0
- package/vendor/zotero/modules/translators/Bioconductor.js +343 -0
- package/vendor/zotero/modules/translators/Blaetter.js +192 -0
- package/vendor/zotero/modules/translators/Blogger.js +244 -0
- package/vendor/zotero/modules/translators/Bloomberg.js +205 -0
- package/vendor/zotero/modules/translators/Bloomsbury Food Library.js +296 -0
- package/vendor/zotero/modules/translators/Bluesky.js +195 -0
- package/vendor/zotero/modules/translators/BnF ISBN.js +129 -0
- package/vendor/zotero/modules/translators/Bookmarks.js +282 -0
- package/vendor/zotero/modules/translators/Bookshop.org.js +223 -0
- package/vendor/zotero/modules/translators/Boston Review.js +332 -0
- package/vendor/zotero/modules/translators/Bosworth Toller's Anglo-Saxon Dictionary Online.js +496 -0
- package/vendor/zotero/modules/translators/Bracero History Archive.js +200 -0
- package/vendor/zotero/modules/translators/Brill Journals.js +168 -0
- package/vendor/zotero/modules/translators/Brill.js +434 -0
- package/vendor/zotero/modules/translators/Brukerhandboken.js +153 -0
- package/vendor/zotero/modules/translators/Bryn Mawr Classical Review.js +303 -0
- package/vendor/zotero/modules/translators/Bundesgesetzblatt.js +231 -0
- package/vendor/zotero/modules/translators/Business Standard.js +151 -0
- package/vendor/zotero/modules/translators/CABI - CAB Abstracts.js +317 -0
- package/vendor/zotero/modules/translators/CAOD.js +260 -0
- package/vendor/zotero/modules/translators/CBC.js +439 -0
- package/vendor/zotero/modules/translators/CCfr (BnF).js +162 -0
- package/vendor/zotero/modules/translators/CERN Document Server.js +277 -0
- package/vendor/zotero/modules/translators/CEUR Workshop Proceedings.js +145 -0
- package/vendor/zotero/modules/translators/CFF References.js +170 -0
- package/vendor/zotero/modules/translators/CFF.js +113 -0
- package/vendor/zotero/modules/translators/CIA World Factbook.js +128 -0
- package/vendor/zotero/modules/translators/CLACSO.js +226 -0
- package/vendor/zotero/modules/translators/CLASE.js +135 -0
- package/vendor/zotero/modules/translators/CNKI.js +731 -0
- package/vendor/zotero/modules/translators/COBISS.js +1945 -0
- package/vendor/zotero/modules/translators/COinS.js +336 -0
- package/vendor/zotero/modules/translators/CQ Press.js +418 -0
- package/vendor/zotero/modules/translators/CROSBI.js +227 -0
- package/vendor/zotero/modules/translators/CSIRO Publishing.js +139 -0
- package/vendor/zotero/modules/translators/CSL JSON.js +203 -0
- package/vendor/zotero/modules/translators/CSV.js +294 -0
- package/vendor/zotero/modules/translators/Cairn.info.js +368 -0
- package/vendor/zotero/modules/translators/CalMatters.js +228 -0
- package/vendor/zotero/modules/translators/Calisphere.js +355 -0
- package/vendor/zotero/modules/translators/Camara Brasileira do Livro ISBN.js +842 -0
- package/vendor/zotero/modules/translators/Cambridge Core.js +580 -0
- package/vendor/zotero/modules/translators/Cambridge Engage Preprints.js +276 -0
- package/vendor/zotero/modules/translators/CanLII.js +284 -0
- package/vendor/zotero/modules/translators/Canada.com.js +171 -0
- package/vendor/zotero/modules/translators/Canadian Letters and Images.js +148 -0
- package/vendor/zotero/modules/translators/Canadiana.ca.js +196 -0
- package/vendor/zotero/modules/translators/Cascadilla Proceedings Project.js +390 -0
- package/vendor/zotero/modules/translators/Cell Press.js +516 -0
- package/vendor/zotero/modules/translators/Central and Eastern European Online Library Journals.js +313 -0
- package/vendor/zotero/modules/translators/Champlain Society - Collection.js +220 -0
- package/vendor/zotero/modules/translators/Chicago Journal of Theoretical Computer Science.js +203 -0
- package/vendor/zotero/modules/translators/Christian Science Monitor.js +148 -0
- package/vendor/zotero/modules/translators/Chronicling America.js +131 -0
- package/vendor/zotero/modules/translators/CiNii Research.js +168 -0
- package/vendor/zotero/modules/translators/Citavi 5 XML.js +516 -0
- package/vendor/zotero/modules/translators/CiteSeer.js +196 -0
- package/vendor/zotero/modules/translators/CiteULike.js +170 -0
- package/vendor/zotero/modules/translators/Citizen Lab.js +347 -0
- package/vendor/zotero/modules/translators/Civilization.ca.js +146 -0
- package/vendor/zotero/modules/translators/Climate Change and Human Health Literature Portal.js +283 -0
- package/vendor/zotero/modules/translators/Clinical Key.js +367 -0
- package/vendor/zotero/modules/translators/Code4Lib Journal.js +143 -0
- package/vendor/zotero/modules/translators/Colorado State Legislature.js +215 -0
- package/vendor/zotero/modules/translators/Columbia University Press.js +238 -0
- package/vendor/zotero/modules/translators/Common-Place.js +218 -0
- package/vendor/zotero/modules/translators/Computer History Museum Archive.js +1319 -0
- package/vendor/zotero/modules/translators/Copernicus.js +461 -0
- package/vendor/zotero/modules/translators/Cornell LII.js +252 -0
- package/vendor/zotero/modules/translators/Cornell University Press.js +235 -0
- package/vendor/zotero/modules/translators/CourtListener.js +265 -0
- package/vendor/zotero/modules/translators/CrossRef.js +486 -0
- package/vendor/zotero/modules/translators/Crossref REST.js +1757 -0
- package/vendor/zotero/modules/translators/Crossref Unixref XML.js +965 -0
- package/vendor/zotero/modules/translators/Current Affairs.js +160 -0
- package/vendor/zotero/modules/translators/Cyberpresse.js +131 -0
- package/vendor/zotero/modules/translators/DABI.js +476 -0
- package/vendor/zotero/modules/translators/DAI-Zenon.js +392 -0
- package/vendor/zotero/modules/translators/DART-Europe.js +176 -0
- package/vendor/zotero/modules/translators/DBLP Computer Science Bibliography.js +462 -0
- package/vendor/zotero/modules/translators/DBpia.js +233 -0
- package/vendor/zotero/modules/translators/DEPATISnet.js +373 -0
- package/vendor/zotero/modules/translators/DOAJ.js +243 -0
- package/vendor/zotero/modules/translators/DOI Content Negotiation.js +352 -0
- package/vendor/zotero/modules/translators/DOI.js +322 -0
- package/vendor/zotero/modules/translators/DPLA.js +425 -0
- package/vendor/zotero/modules/translators/DSpace Intermediate Metadata.js +208 -0
- package/vendor/zotero/modules/translators/DTU Orbit.js +155 -0
- package/vendor/zotero/modules/translators/Dagens Nyheter.js +369 -0
- package/vendor/zotero/modules/translators/Dagstuhl Research Online Publication Server.js +276 -0
- package/vendor/zotero/modules/translators/Dar Almandumah.js +253 -0
- package/vendor/zotero/modules/translators/Data.gov.js +225 -0
- package/vendor/zotero/modules/translators/DataCite.js +125 -0
- package/vendor/zotero/modules/translators/Databrary.js +184 -0
- package/vendor/zotero/modules/translators/Datacite JSON.js +1182 -0
- package/vendor/zotero/modules/translators/Dataverse.js +418 -0
- package/vendor/zotero/modules/translators/Daum News.js +139 -0
- package/vendor/zotero/modules/translators/De Gruyter Brill.js +674 -0
- package/vendor/zotero/modules/translators/DeGruyter.js +457 -0
- package/vendor/zotero/modules/translators/Defense Technical Information Center.js +146 -0
- package/vendor/zotero/modules/translators/Delpher.js +413 -0
- package/vendor/zotero/modules/translators/Demographic Research.js +164 -0
- package/vendor/zotero/modules/translators/Denik CZ.js +273 -0
- package/vendor/zotero/modules/translators/Der Freitag.js +236 -0
- package/vendor/zotero/modules/translators/Der Spiegel.js +479 -0
- package/vendor/zotero/modules/translators/Desiring God.js +216 -0
- package/vendor/zotero/modules/translators/Deutsche Fotothek.js +364 -0
- package/vendor/zotero/modules/translators/Deutsche Nationalbibliothek.js +594 -0
- package/vendor/zotero/modules/translators/Dialnet.js +258 -0
- package/vendor/zotero/modules/translators/Die Zeit.js +378 -0
- package/vendor/zotero/modules/translators/DigiZeitschriften.js +269 -0
- package/vendor/zotero/modules/translators/Digital Humanities Quarterly.js +207 -0
- package/vendor/zotero/modules/translators/Digital Medievalist.js +149 -0
- package/vendor/zotero/modules/translators/Digital Spy.js +215 -0
- package/vendor/zotero/modules/translators/Dimensions.js +233 -0
- package/vendor/zotero/modules/translators/Douban.js +316 -0
- package/vendor/zotero/modules/translators/Dreier Neuerscheinungsdienst.js +209 -0
- package/vendor/zotero/modules/translators/DrugBank.ca.js +209 -0
- package/vendor/zotero/modules/translators/Dryad Digital Repository.js +323 -0
- package/vendor/zotero/modules/translators/Duke University Press Books.js +250 -0
- package/vendor/zotero/modules/translators/E-periodica Switzerland.js +347 -0
- package/vendor/zotero/modules/translators/EBSCO Discovery Layer.js +147 -0
- package/vendor/zotero/modules/translators/EBSCOhost.js +592 -0
- package/vendor/zotero/modules/translators/EIDR.js +184 -0
- package/vendor/zotero/modules/translators/EPA National Library Catalog.js +245 -0
- package/vendor/zotero/modules/translators/ERIC.js +986 -0
- package/vendor/zotero/modules/translators/ESpacenet.js +465 -0
- package/vendor/zotero/modules/translators/EUR-Lex.js +423 -0
- package/vendor/zotero/modules/translators/Eastview.js +336 -0
- package/vendor/zotero/modules/translators/Edinburgh University Press Journals.js +178 -0
- package/vendor/zotero/modules/translators/Education Week.js +197 -0
- package/vendor/zotero/modules/translators/El Comercio (Peru).js +347 -0
- package/vendor/zotero/modules/translators/El Pais.js +262 -0
- package/vendor/zotero/modules/translators/Electronic Colloquium on Computational Complexity.js +230 -0
- package/vendor/zotero/modules/translators/Elicit.js +120 -0
- package/vendor/zotero/modules/translators/Elsevier Health Journals.js +531 -0
- package/vendor/zotero/modules/translators/Elsevier Pure.js +420 -0
- package/vendor/zotero/modules/translators/Embedded Metadata.js +1951 -0
- package/vendor/zotero/modules/translators/Emerald Insight.js +626 -0
- package/vendor/zotero/modules/translators/Encyclopedia of Chicago.js +162 -0
- package/vendor/zotero/modules/translators/Encyclopedia of Korean Culture.js +221 -0
- package/vendor/zotero/modules/translators/Endnote XML.js +1407 -0
- package/vendor/zotero/modules/translators/Engineering Village.js +139 -0
- package/vendor/zotero/modules/translators/Envidat.js +331 -0
- package/vendor/zotero/modules/translators/Epicurious.js +144 -0
- package/vendor/zotero/modules/translators/Erudit.js +272 -0
- package/vendor/zotero/modules/translators/Euclid.js +220 -0
- package/vendor/zotero/modules/translators/EurasiaNet.js +109 -0
- package/vendor/zotero/modules/translators/Eurogamer.js +112 -0
- package/vendor/zotero/modules/translators/EurogamerUSgamer.js +380 -0
- package/vendor/zotero/modules/translators/Europe PMC.js +448 -0
- package/vendor/zotero/modules/translators/Evernote.js +104 -0
- package/vendor/zotero/modules/translators/F1000 Research.js +655 -0
- package/vendor/zotero/modules/translators/FAO Publications.js +1139 -0
- package/vendor/zotero/modules/translators/FAZ.NET.js +231 -0
- package/vendor/zotero/modules/translators/Fachportal Padagogik.js +839 -0
- package/vendor/zotero/modules/translators/Factiva.js +302 -0
- package/vendor/zotero/modules/translators/Failed Architecture.js +114 -0
- package/vendor/zotero/modules/translators/Fairfax Australia.js +200 -0
- package/vendor/zotero/modules/translators/Fatcat.js +425 -0
- package/vendor/zotero/modules/translators/Figshare.js +191 -0
- package/vendor/zotero/modules/translators/Financial Times.js +187 -0
- package/vendor/zotero/modules/translators/Finna.js +357 -0
- package/vendor/zotero/modules/translators/Flickr.js +318 -0
- package/vendor/zotero/modules/translators/Foreign Affairs.js +485 -0
- package/vendor/zotero/modules/translators/Foreign Policy.js +146 -0
- package/vendor/zotero/modules/translators/FreeCite.js +95 -0
- package/vendor/zotero/modules/translators/FreePatentsOnline.js +265 -0
- package/vendor/zotero/modules/translators/Frieze.js +243 -0
- package/vendor/zotero/modules/translators/Frontiers.js +667 -0
- package/vendor/zotero/modules/translators/GMS German Medical Science.js +319 -0
- package/vendor/zotero/modules/translators/GPO Access e-CFR.js +134 -0
- package/vendor/zotero/modules/translators/Gale Databases.js +324 -0
- package/vendor/zotero/modules/translators/GaleGDC.js +189 -0
- package/vendor/zotero/modules/translators/Galegroup.js +327 -0
- package/vendor/zotero/modules/translators/Gallica.js +194 -0
- package/vendor/zotero/modules/translators/Game Studies.js +155 -0
- package/vendor/zotero/modules/translators/GameSpot.js +199 -0
- package/vendor/zotero/modules/translators/GameStar GamePro.js +198 -0
- package/vendor/zotero/modules/translators/Gasyrlar Awazy.js +156 -0
- package/vendor/zotero/modules/translators/Gemeinsamer Bibliotheksverbund ISBN.js +23 -0
- package/vendor/zotero/modules/translators/Gene Ontology.js +128 -0
- package/vendor/zotero/modules/translators/Github.js +268 -0
- package/vendor/zotero/modules/translators/Globes.js +243 -0
- package/vendor/zotero/modules/translators/Gmail.js +64 -0
- package/vendor/zotero/modules/translators/Goodreads.js +219 -0
- package/vendor/zotero/modules/translators/Google Books.js +552 -0
- package/vendor/zotero/modules/translators/Google Patents.js +959 -0
- package/vendor/zotero/modules/translators/Google Play.js +186 -0
- package/vendor/zotero/modules/translators/Google Presentation.js +104 -0
- package/vendor/zotero/modules/translators/Google Research.js +221 -0
- package/vendor/zotero/modules/translators/Google Scholar.js +1361 -0
- package/vendor/zotero/modules/translators/Gulag Many Days, Many Lives.js +179 -0
- package/vendor/zotero/modules/translators/HAL Archives Ouvertes.js +429 -0
- package/vendor/zotero/modules/translators/HCSP.js +312 -0
- package/vendor/zotero/modules/translators/HUDOC.js +650 -0
- package/vendor/zotero/modules/translators/Haaretz.js +562 -0
- package/vendor/zotero/modules/translators/Habr.js +232 -0
- package/vendor/zotero/modules/translators/Handelszeitung.js +273 -0
- package/vendor/zotero/modules/translators/Hanrei Watch.js +123 -0
- package/vendor/zotero/modules/translators/Harper's Magazine.js +365 -0
- package/vendor/zotero/modules/translators/Harpers.js +209 -0
- package/vendor/zotero/modules/translators/Harvard Business Review.js +326 -0
- package/vendor/zotero/modules/translators/Harvard Caselaw Access Project.js +244 -0
- package/vendor/zotero/modules/translators/Harvard University Press Books.js +286 -0
- package/vendor/zotero/modules/translators/Hathi Trust.js +164 -0
- package/vendor/zotero/modules/translators/HathiTrust.js +311 -0
- package/vendor/zotero/modules/translators/HeinOnline.js +266 -0
- package/vendor/zotero/modules/translators/Heise.js +200 -0
- package/vendor/zotero/modules/translators/Herder.js +236 -0
- package/vendor/zotero/modules/translators/HighBeam.js +198 -0
- package/vendor/zotero/modules/translators/HighWire 2.0.js +1355 -0
- package/vendor/zotero/modules/translators/HighWire.js +209 -0
- package/vendor/zotero/modules/translators/Hindawi Publishers.js +177 -0
- package/vendor/zotero/modules/translators/Hispanic-American Periodical Index.js +236 -0
- package/vendor/zotero/modules/translators/Homeland Security Digital Library.js +426 -0
- package/vendor/zotero/modules/translators/Hoovers.js +89 -0
- package/vendor/zotero/modules/translators/Huff Post.js +223 -0
- package/vendor/zotero/modules/translators/Human Rights Watch.js +450 -0
- package/vendor/zotero/modules/translators/IBISWorld.js +171 -0
- package/vendor/zotero/modules/translators/IDEA ALM.js +536 -0
- package/vendor/zotero/modules/translators/IEEE Computer Society.js +429 -0
- package/vendor/zotero/modules/translators/IEEE Xplore.js +1000 -0
- package/vendor/zotero/modules/translators/IETF.js +451 -0
- package/vendor/zotero/modules/translators/IGN.js +136 -0
- package/vendor/zotero/modules/translators/IMDb.js +566 -0
- package/vendor/zotero/modules/translators/INSPIRE.js +247 -0
- package/vendor/zotero/modules/translators/IPCC.js +757 -0
- package/vendor/zotero/modules/translators/ISTC.js +181 -0
- package/vendor/zotero/modules/translators/Idref.js +179 -0
- package/vendor/zotero/modules/translators/In These Times.js +196 -0
- package/vendor/zotero/modules/translators/InfoTrac.js +279 -0
- package/vendor/zotero/modules/translators/Informationssystem Medienpaedagogik.js +305 -0
- package/vendor/zotero/modules/translators/IngentaConnect.js +312 -0
- package/vendor/zotero/modules/translators/Inside Higher Ed.js +167 -0
- package/vendor/zotero/modules/translators/Insignia OPAC.js +114 -0
- package/vendor/zotero/modules/translators/Institute of Contemporary Art.js +180 -0
- package/vendor/zotero/modules/translators/Institute of Physics.js +340 -0
- package/vendor/zotero/modules/translators/Integrum.js +173 -0
- package/vendor/zotero/modules/translators/Intellixir.js +264 -0
- package/vendor/zotero/modules/translators/Inter-Research Science Center.js +185 -0
- package/vendor/zotero/modules/translators/International Nuclear Information System.js +285 -0
- package/vendor/zotero/modules/translators/Internet Archive Scholar.js +106 -0
- package/vendor/zotero/modules/translators/Internet Archive Wayback Machine.js +152 -0
- package/vendor/zotero/modules/translators/Internet Archive.js +552 -0
- package/vendor/zotero/modules/translators/InvenioRDM.js +1260 -0
- package/vendor/zotero/modules/translators/Isidore.js +235 -0
- package/vendor/zotero/modules/translators/J-Stage.js +272 -0
- package/vendor/zotero/modules/translators/JETS.js +122 -0
- package/vendor/zotero/modules/translators/JISC Historical Texts.js +273 -0
- package/vendor/zotero/modules/translators/JRC Publications Repository.js +569 -0
- package/vendor/zotero/modules/translators/JSTOR.js +821 -0
- package/vendor/zotero/modules/translators/Jahrbuch.js +213 -0
- package/vendor/zotero/modules/translators/Japan Times Online.js +138 -0
- package/vendor/zotero/modules/translators/Journal of Electronic Publishing.js +147 -0
- package/vendor/zotero/modules/translators/Journal of Extension.js +288 -0
- package/vendor/zotero/modules/translators/Journal of Machine Learning Research.js +441 -0
- package/vendor/zotero/modules/translators/Journal of Religion and Society.js +174 -0
- package/vendor/zotero/modules/translators/JurPC.js +274 -0
- package/vendor/zotero/modules/translators/Juricaf.js +141 -0
- package/vendor/zotero/modules/translators/Juris.js +728 -0
- package/vendor/zotero/modules/translators/K10plus ISBN.js +386 -0
- package/vendor/zotero/modules/translators/KStudy.js +632 -0
- package/vendor/zotero/modules/translators/Kanopy.js +358 -0
- package/vendor/zotero/modules/translators/Khaama Press.js +249 -0
- package/vendor/zotero/modules/translators/KitapYurdu.com.js +376 -0
- package/vendor/zotero/modules/translators/Kommersant.js +174 -0
- package/vendor/zotero/modules/translators/Korean National Library.js +621 -0
- package/vendor/zotero/modules/translators/L'Annee Philologique.js +267 -0
- package/vendor/zotero/modules/translators/LA Times.js +239 -0
- package/vendor/zotero/modules/translators/LIBRIS ISBN.js +103 -0
- package/vendor/zotero/modules/translators/LIVIVO.js +260 -0
- package/vendor/zotero/modules/translators/LWN.net.js +350 -0
- package/vendor/zotero/modules/translators/La Croix.js +237 -0
- package/vendor/zotero/modules/translators/La Nacion (Argentina).js +231 -0
- package/vendor/zotero/modules/translators/La Presse.js +218 -0
- package/vendor/zotero/modules/translators/La Republica (Peru).js +174 -0
- package/vendor/zotero/modules/translators/Lagen.nu.js +214 -0
- package/vendor/zotero/modules/translators/Landesbibliographie Baden-Wurttemberg.js +324 -0
- package/vendor/zotero/modules/translators/Lapham's Quarterly.js +1062 -0
- package/vendor/zotero/modules/translators/Le Devoir.js +167 -0
- package/vendor/zotero/modules/translators/Le Figaro.js +225 -0
- package/vendor/zotero/modules/translators/Le Maitron.js +484 -0
- package/vendor/zotero/modules/translators/Le Monde.js +258 -0
- package/vendor/zotero/modules/translators/Le monde diplomatique.js +200 -0
- package/vendor/zotero/modules/translators/Legifrance.js +641 -0
- package/vendor/zotero/modules/translators/Legislative Insight.js +406 -0
- package/vendor/zotero/modules/translators/Lexis+.js +264 -0
- package/vendor/zotero/modules/translators/LexisNexis.js +505 -0
- package/vendor/zotero/modules/translators/Libraries Tasmania.js +778 -0
- package/vendor/zotero/modules/translators/Library Catalog (Aleph).js +385 -0
- package/vendor/zotero/modules/translators/Library Catalog (Amicus).js +254 -0
- package/vendor/zotero/modules/translators/Library Catalog (Aquabrowser).js +253 -0
- package/vendor/zotero/modules/translators/Library Catalog (BiblioCommons).js +249 -0
- package/vendor/zotero/modules/translators/Library Catalog (Blacklight).js +341 -0
- package/vendor/zotero/modules/translators/Library Catalog (Capita Prism).js +162 -0
- package/vendor/zotero/modules/translators/Library Catalog (DRA).js +203 -0
- package/vendor/zotero/modules/translators/Library Catalog (Dynix).js +315 -0
- package/vendor/zotero/modules/translators/Library Catalog (EBSCO Locate).js +349 -0
- package/vendor/zotero/modules/translators/Library Catalog (Encore).js +211 -0
- package/vendor/zotero/modules/translators/Library Catalog (GEAC).js +104 -0
- package/vendor/zotero/modules/translators/Library Catalog (InnoPAC).js +305 -0
- package/vendor/zotero/modules/translators/Library Catalog (Koha).js +225 -0
- package/vendor/zotero/modules/translators/Library Catalog (Mango).js +285 -0
- package/vendor/zotero/modules/translators/Library Catalog (OPALS).js +200 -0
- package/vendor/zotero/modules/translators/Library Catalog (PICA).js +2120 -0
- package/vendor/zotero/modules/translators/Library Catalog (PICA2).js +331 -0
- package/vendor/zotero/modules/translators/Library Catalog (Pika).js +488 -0
- package/vendor/zotero/modules/translators/Library Catalog (Polaris).js +183 -0
- package/vendor/zotero/modules/translators/Library Catalog (Quolto).js +320 -0
- package/vendor/zotero/modules/translators/Library Catalog (RERO ILS).js +754 -0
- package/vendor/zotero/modules/translators/Library Catalog (SIRSI eLibrary).js +407 -0
- package/vendor/zotero/modules/translators/Library Catalog (SIRSI).js +452 -0
- package/vendor/zotero/modules/translators/Library Catalog (SLIMS).js +146 -0
- package/vendor/zotero/modules/translators/Library Catalog (TIND ILS).js +773 -0
- package/vendor/zotero/modules/translators/Library Catalog (TLCYouSeeMore).js +132 -0
- package/vendor/zotero/modules/translators/Library Catalog (TinREAD).js +277 -0
- package/vendor/zotero/modules/translators/Library Catalog (VTLS).js +125 -0
- package/vendor/zotero/modules/translators/Library Catalog (Visual Library 2021).js +765 -0
- package/vendor/zotero/modules/translators/Library Catalog (Voyager 7).js +199 -0
- package/vendor/zotero/modules/translators/Library Catalog (Voyager).js +212 -0
- package/vendor/zotero/modules/translators/Library Genesis.js +337 -0
- package/vendor/zotero/modules/translators/Library Hub Discover.js +359 -0
- package/vendor/zotero/modules/translators/Library of Congress Digital Collections.js +869 -0
- package/vendor/zotero/modules/translators/Library of Congress ISBN.js +86 -0
- package/vendor/zotero/modules/translators/LingBuzz.js +359 -0
- package/vendor/zotero/modules/translators/Lippincott Williams and Wilkins.js +341 -0
- package/vendor/zotero/modules/translators/Literary Hub.js +950 -0
- package/vendor/zotero/modules/translators/Litres.js +236 -0
- package/vendor/zotero/modules/translators/LiveJournal.js +219 -0
- package/vendor/zotero/modules/translators/London Review of Books.js +291 -0
- package/vendor/zotero/modules/translators/LookUs.js +260 -0
- package/vendor/zotero/modules/translators/Lulu.js +264 -0
- package/vendor/zotero/modules/translators/MAB2.js +373 -0
- package/vendor/zotero/modules/translators/MARC.js +1080 -0
- package/vendor/zotero/modules/translators/MARCXML.js +489 -0
- package/vendor/zotero/modules/translators/MCV.js +258 -0
- package/vendor/zotero/modules/translators/MDPI Journals.js +356 -0
- package/vendor/zotero/modules/translators/MEDLINEnbib.js +1561 -0
- package/vendor/zotero/modules/translators/METS.js +384 -0
- package/vendor/zotero/modules/translators/MIDAS Journals.js +343 -0
- package/vendor/zotero/modules/translators/MIT Press Books.js +637 -0
- package/vendor/zotero/modules/translators/MIT Press Journals.js +176 -0
- package/vendor/zotero/modules/translators/MODS.js +2545 -0
- package/vendor/zotero/modules/translators/MPG PuRe.js +541 -0
- package/vendor/zotero/modules/translators/Mailman.js +136 -0
- package/vendor/zotero/modules/translators/Mainichi Daily News.js +189 -0
- package/vendor/zotero/modules/translators/Mastodon.js +198 -0
- package/vendor/zotero/modules/translators/Matbugat.ru.js +110 -0
- package/vendor/zotero/modules/translators/Max Planck Institute for the History of Science Virtual Laboratory Library.js +136 -0
- package/vendor/zotero/modules/translators/Medium.js +208 -0
- package/vendor/zotero/modules/translators/MetaLib.js +126 -0
- package/vendor/zotero/modules/translators/Microbiology Society Journals.js +343 -0
- package/vendor/zotero/modules/translators/Microsoft Academic.js +424 -0
- package/vendor/zotero/modules/translators/Mikromarc.js +207 -0
- package/vendor/zotero/modules/translators/Milli Kutuphane.js +244 -0
- package/vendor/zotero/modules/translators/Musee du Louvre.js +265 -0
- package/vendor/zotero/modules/translators/NASA ADS.js +889 -0
- package/vendor/zotero/modules/translators/NASA NTRS.js +610 -0
- package/vendor/zotero/modules/translators/NCBI Nucleotide.js +227 -0
- package/vendor/zotero/modules/translators/NPR.js +341 -0
- package/vendor/zotero/modules/translators/NRC Research Press.js +181 -0
- package/vendor/zotero/modules/translators/NRC.nl.js +226 -0
- package/vendor/zotero/modules/translators/NTSB Accident Reports.js +226 -0
- package/vendor/zotero/modules/translators/NYPL Menus.js +275 -0
- package/vendor/zotero/modules/translators/NYPL Research Catalog.js +458 -0
- package/vendor/zotero/modules/translators/NYTimes.com.js +858 -0
- package/vendor/zotero/modules/translators/NZZ.ch.js +272 -0
- package/vendor/zotero/modules/translators/Nagoya University OPAC.js +336 -0
- package/vendor/zotero/modules/translators/National Academies Press.js +243 -0
- package/vendor/zotero/modules/translators/National Agriculture Library.js +524 -0
- package/vendor/zotero/modules/translators/National Archive of the UK.js +237 -0
- package/vendor/zotero/modules/translators/National Archives of Australia.js +522 -0
- package/vendor/zotero/modules/translators/National Archives of South Africa.js +122 -0
- package/vendor/zotero/modules/translators/National Archives of the United States.js +278 -0
- package/vendor/zotero/modules/translators/National Bureau of Economic Research.js +363 -0
- package/vendor/zotero/modules/translators/National Diet Library Catalogue.js +333 -0
- package/vendor/zotero/modules/translators/National Gallery of Art - USA.js +149 -0
- package/vendor/zotero/modules/translators/National Gallery of Australia.js +252 -0
- package/vendor/zotero/modules/translators/National Library of Australia (new catalog).js +223 -0
- package/vendor/zotero/modules/translators/National Library of Belarus.js +171 -0
- package/vendor/zotero/modules/translators/National Library of Norway.js +310 -0
- package/vendor/zotero/modules/translators/National Library of Poland ISBN.js +140 -0
- package/vendor/zotero/modules/translators/National Post.js +186 -0
- package/vendor/zotero/modules/translators/National Technical Reports Library.js +276 -0
- package/vendor/zotero/modules/translators/National Transportation Library ROSA P.js +562 -0
- package/vendor/zotero/modules/translators/Nature Publishing Group.js +3394 -0
- package/vendor/zotero/modules/translators/Neural Information Processing Systems.js +385 -0
- package/vendor/zotero/modules/translators/New Left Review.js +245 -0
- package/vendor/zotero/modules/translators/New Zealand Herald.js +282 -0
- package/vendor/zotero/modules/translators/Newlines Magazine.js +190 -0
- package/vendor/zotero/modules/translators/News Corp Australia.js +251 -0
- package/vendor/zotero/modules/translators/NewsBank.js +202 -0
- package/vendor/zotero/modules/translators/NewsnetTamedia.js +509 -0
- package/vendor/zotero/modules/translators/Noor Digital Library.js +267 -0
- package/vendor/zotero/modules/translators/Note HTML.js +206 -0
- package/vendor/zotero/modules/translators/Note Markdown.js +1638 -0
- package/vendor/zotero/modules/translators/Notre Dame Philosophical Reviews.js +201 -0
- package/vendor/zotero/modules/translators/Nuclear Receptor Signaling.js +241 -0
- package/vendor/zotero/modules/translators/OAPEN.js +331 -0
- package/vendor/zotero/modules/translators/OECD.js +216 -0
- package/vendor/zotero/modules/translators/ORCID.js +104 -0
- package/vendor/zotero/modules/translators/OSF Preprints.js +417 -0
- package/vendor/zotero/modules/translators/OSTI Energy Citations.js +202 -0
- package/vendor/zotero/modules/translators/OVID Tagged.js +1226 -0
- package/vendor/zotero/modules/translators/OZON.ru.js +465 -0
- package/vendor/zotero/modules/translators/OhioLINK.js +43 -0
- package/vendor/zotero/modules/translators/Old Bailey Online.js +315 -0
- package/vendor/zotero/modules/translators/Open Conf.js +172 -0
- package/vendor/zotero/modules/translators/Open Journal Systems.js +729 -0
- package/vendor/zotero/modules/translators/Open Knowledge Repository.js +811 -0
- package/vendor/zotero/modules/translators/OpenAlex JSON.js +740 -0
- package/vendor/zotero/modules/translators/OpenAlex.js +444 -0
- package/vendor/zotero/modules/translators/OpenEdition Books.js +155 -0
- package/vendor/zotero/modules/translators/OpenEdition Journals.js +432 -0
- package/vendor/zotero/modules/translators/Optical Society of America.js +562 -0
- package/vendor/zotero/modules/translators/Optimization Online.js +418 -0
- package/vendor/zotero/modules/translators/Ovid OCE.js +353 -0
- package/vendor/zotero/modules/translators/Ovid.js +302 -0
- package/vendor/zotero/modules/translators/Oxford Dictionaries Premium.js +194 -0
- package/vendor/zotero/modules/translators/Oxford English Dictionary.js +122 -0
- package/vendor/zotero/modules/translators/Oxford Music and Art Online.js +120 -0
- package/vendor/zotero/modules/translators/Oxford Reference.js +202 -0
- package/vendor/zotero/modules/translators/Oxford University Press.js +277 -0
- package/vendor/zotero/modules/translators/PC Gamer.js +302 -0
- package/vendor/zotero/modules/translators/PC Games.js +128 -0
- package/vendor/zotero/modules/translators/PEI Archival Information Network.js +242 -0
- package/vendor/zotero/modules/translators/PEP Web.js +165 -0
- package/vendor/zotero/modules/translators/PKP Catalog Systems.js +1455 -0
- package/vendor/zotero/modules/translators/PLoS Journals.js +284 -0
- package/vendor/zotero/modules/translators/PRC History Review.js +298 -0
- package/vendor/zotero/modules/translators/Pajhwok Afghan News.js +198 -0
- package/vendor/zotero/modules/translators/Papers Past.js +297 -0
- package/vendor/zotero/modules/translators/Paris Review.js +227 -0
- package/vendor/zotero/modules/translators/Pastebin.js +199 -0
- package/vendor/zotero/modules/translators/Patents - USPTO.js +210 -0
- package/vendor/zotero/modules/translators/Peeters.js +587 -0
- package/vendor/zotero/modules/translators/Perceiving Systems.js +350 -0
- package/vendor/zotero/modules/translators/Perlego.js +416 -0
- package/vendor/zotero/modules/translators/PhilPapers.js +233 -0
- package/vendor/zotero/modules/translators/Philosopher's Imprint.js +169 -0
- package/vendor/zotero/modules/translators/Pleade.js +329 -0
- package/vendor/zotero/modules/translators/Polygon.js +270 -0
- package/vendor/zotero/modules/translators/Potsdamer Neueste Nachrichten.js +188 -0
- package/vendor/zotero/modules/translators/Premium Times.js +144 -0
- package/vendor/zotero/modules/translators/Preprints.org.js +305 -0
- package/vendor/zotero/modules/translators/Prime 9ja Online.js +289 -0
- package/vendor/zotero/modules/translators/Primo 2018.js +126 -0
- package/vendor/zotero/modules/translators/Primo Normalized XML.js +987 -0
- package/vendor/zotero/modules/translators/Primo.js +322 -0
- package/vendor/zotero/modules/translators/ProMED.js +66 -0
- package/vendor/zotero/modules/translators/ProQuest Ebook Central.js +226 -0
- package/vendor/zotero/modules/translators/ProQuest PolicyFile.js +115 -0
- package/vendor/zotero/modules/translators/ProQuest.js +2210 -0
- package/vendor/zotero/modules/translators/Probing the Past.js +151 -0
- package/vendor/zotero/modules/translators/Project Gutenberg.js +191 -0
- package/vendor/zotero/modules/translators/Project MUSE.js +451 -0
- package/vendor/zotero/modules/translators/Protein Data Bank.js +445 -0
- package/vendor/zotero/modules/translators/PubFactory Journals.js +712 -0
- package/vendor/zotero/modules/translators/PubMed Central.js +577 -0
- package/vendor/zotero/modules/translators/PubMed XML.js +1139 -0
- package/vendor/zotero/modules/translators/PubMed.js +1317 -0
- package/vendor/zotero/modules/translators/PubPub.js +530 -0
- package/vendor/zotero/modules/translators/Pubget.js +164 -0
- package/vendor/zotero/modules/translators/Public Record Office Victoria.js +252 -0
- package/vendor/zotero/modules/translators/Publications Office of the European Union.js +540 -0
- package/vendor/zotero/modules/translators/Publications du Quebec.js +225 -0
- package/vendor/zotero/modules/translators/PyPI.js +288 -0
- package/vendor/zotero/modules/translators/Qatar Digital Library.js +802 -0
- package/vendor/zotero/modules/translators/Queensland State Archives.js +303 -0
- package/vendor/zotero/modules/translators/R-Packages.js +410 -0
- package/vendor/zotero/modules/translators/RAND.js +283 -0
- package/vendor/zotero/modules/translators/RDF.js +1780 -0
- package/vendor/zotero/modules/translators/REDALYC.js +196 -0
- package/vendor/zotero/modules/translators/RIS.js +7265 -0
- package/vendor/zotero/modules/translators/RSC Publishing.js +250 -0
- package/vendor/zotero/modules/translators/Radio Free Europe Radio Liberty.js +706 -0
- package/vendor/zotero/modules/translators/RePEc - Econpapers.js +725 -0
- package/vendor/zotero/modules/translators/RePEc - IDEAS.js +337 -0
- package/vendor/zotero/modules/translators/Rechtspraak.nl.js +295 -0
- package/vendor/zotero/modules/translators/RefWorks Tagged.js +1185 -0
- package/vendor/zotero/modules/translators/ReferBibIX.js +463 -0
- package/vendor/zotero/modules/translators/Regeringskansliet.js +89 -0
- package/vendor/zotero/modules/translators/Research Square.js +335 -0
- package/vendor/zotero/modules/translators/ResearchGate.js +394 -0
- package/vendor/zotero/modules/translators/Retsinformation.js +348 -0
- package/vendor/zotero/modules/translators/Reuters.js +255 -0
- package/vendor/zotero/modules/translators/Revues.org.js +378 -0
- package/vendor/zotero/modules/translators/Rock, Paper, Shotgun.js +304 -0
- package/vendor/zotero/modules/translators/Roll Call.js +173 -0
- package/vendor/zotero/modules/translators/Russian State Library.js +1517 -0
- package/vendor/zotero/modules/translators/SAE Papers.js +241 -0
- package/vendor/zotero/modules/translators/SAGE Journals.js +427 -0
- package/vendor/zotero/modules/translators/SAGE Knowledge.js +505 -0
- package/vendor/zotero/modules/translators/SAILDART.js +364 -0
- package/vendor/zotero/modules/translators/SALT Research Archives.js +196 -0
- package/vendor/zotero/modules/translators/SFU IPinCH.js +946 -0
- package/vendor/zotero/modules/translators/SIPRI.js +256 -0
- package/vendor/zotero/modules/translators/SIRS Knowledge Source.js +546 -0
- package/vendor/zotero/modules/translators/SLUB Dresden.js +300 -0
- package/vendor/zotero/modules/translators/SORA.js +340 -0
- package/vendor/zotero/modules/translators/SSOAR.js +399 -0
- package/vendor/zotero/modules/translators/SSRN.js +235 -0
- package/vendor/zotero/modules/translators/SVT Nyheter.js +381 -0
- package/vendor/zotero/modules/translators/Sacramento Bee.js +274 -0
- package/vendor/zotero/modules/translators/Safari Books Online.js +391 -0
- package/vendor/zotero/modules/translators/Scholars Portal Journals.js +220 -0
- package/vendor/zotero/modules/translators/Scholia.js +189 -0
- package/vendor/zotero/modules/translators/Schweizer Radio und Fernsehen SRF.js +152 -0
- package/vendor/zotero/modules/translators/SciELO.js +440 -0
- package/vendor/zotero/modules/translators/ScienceDirect.js +1304 -0
- package/vendor/zotero/modules/translators/Scopus.js +418 -0
- package/vendor/zotero/modules/translators/Semantic Scholar.js +513 -0
- package/vendor/zotero/modules/translators/Silverchair.js +886 -0
- package/vendor/zotero/modules/translators/Slate.js +228 -0
- package/vendor/zotero/modules/translators/SlideShare.js +112 -0
- package/vendor/zotero/modules/translators/Spiegel Online.js +343 -0
- package/vendor/zotero/modules/translators/Springer Link.js +696 -0
- package/vendor/zotero/modules/translators/Stack Exchange.js +134 -0
- package/vendor/zotero/modules/translators/Standard Ebooks.js +198 -0
- package/vendor/zotero/modules/translators/Stanford Encyclopedia of Philosophy.js +285 -0
- package/vendor/zotero/modules/translators/Stanford University Press.js +343 -0
- package/vendor/zotero/modules/translators/State Records Office of Western Australia.js +439 -0
- package/vendor/zotero/modules/translators/Stitcher.js +141 -0
- package/vendor/zotero/modules/translators/Store norske leksikon.js +291 -0
- package/vendor/zotero/modules/translators/Stuff.co.nz.js +446 -0
- package/vendor/zotero/modules/translators/Substack.js +237 -0
- package/vendor/zotero/modules/translators/Sud Ouest.js +181 -0
- package/vendor/zotero/modules/translators/Sueddeutsche.de.js +205 -0
- package/vendor/zotero/modules/translators/Summon 2.js +117 -0
- package/vendor/zotero/modules/translators/Superlib.js +647 -0
- package/vendor/zotero/modules/translators/Svenska Dagbladet.js +274 -0
- package/vendor/zotero/modules/translators/Sveriges radio.js +416 -0
- package/vendor/zotero/modules/translators/TEI.js +648 -0
- package/vendor/zotero/modules/translators/TV by the Numbers.js +194 -0
- package/vendor/zotero/modules/translators/TVNZ.js +165 -0
- package/vendor/zotero/modules/translators/Tagesspiegel.js +249 -0
- package/vendor/zotero/modules/translators/Talis Aspire.js +316 -0
- package/vendor/zotero/modules/translators/TalisPrism.js +445 -0
- package/vendor/zotero/modules/translators/Tatknigafund.js +174 -0
- package/vendor/zotero/modules/translators/Tatpressa.ru.js +121 -0
- package/vendor/zotero/modules/translators/Taylor & Francis eBooks.js +334 -0
- package/vendor/zotero/modules/translators/Taylor and Francis+NEJM.js +813 -0
- package/vendor/zotero/modules/translators/Tesis Doctorals en Xarxa.js +233 -0
- package/vendor/zotero/modules/translators/The Art Newspaper.js +268 -0
- package/vendor/zotero/modules/translators/The Atlantic.js +535 -0
- package/vendor/zotero/modules/translators/The Australian.js +105 -0
- package/vendor/zotero/modules/translators/The Boston Globe.js +285 -0
- package/vendor/zotero/modules/translators/The Chronicle of Higher Education.js +308 -0
- package/vendor/zotero/modules/translators/The Daily Beast.js +183 -0
- package/vendor/zotero/modules/translators/The Economic Times - The Times of India.js +305 -0
- package/vendor/zotero/modules/translators/The Economic Times.js +191 -0
- package/vendor/zotero/modules/translators/The Economist.js +207 -0
- package/vendor/zotero/modules/translators/The Free Dictionary.js +58 -0
- package/vendor/zotero/modules/translators/The Globe and Mail.js +241 -0
- package/vendor/zotero/modules/translators/The Guardian.js +717 -0
- package/vendor/zotero/modules/translators/The Hamilton Spectator.js +129 -0
- package/vendor/zotero/modules/translators/The Hindu (old).js +128 -0
- package/vendor/zotero/modules/translators/The Hindu.js +318 -0
- package/vendor/zotero/modules/translators/The Independent.js +184 -0
- package/vendor/zotero/modules/translators/The Intercept.js +258 -0
- package/vendor/zotero/modules/translators/The Met.js +300 -0
- package/vendor/zotero/modules/translators/The Microfinance Gateway.js +174 -0
- package/vendor/zotero/modules/translators/The Nation.js +188 -0
- package/vendor/zotero/modules/translators/The National Archives (UK).js +242 -0
- package/vendor/zotero/modules/translators/The New Republic.js +160 -0
- package/vendor/zotero/modules/translators/The New York Review of Books.js +467 -0
- package/vendor/zotero/modules/translators/The New Yorker.js +360 -0
- package/vendor/zotero/modules/translators/The Open Library.js +220 -0
- package/vendor/zotero/modules/translators/The Straits Times.js +528 -0
- package/vendor/zotero/modules/translators/The Telegraph.js +337 -0
- package/vendor/zotero/modules/translators/The Times and Sunday Times.js +180 -0
- package/vendor/zotero/modules/translators/The Times of Israel.js +151 -0
- package/vendor/zotero/modules/translators/TheMarker.js +108 -0
- package/vendor/zotero/modules/translators/Theory of Computing.js +488 -0
- package/vendor/zotero/modules/translators/ThesesFR.js +350 -0
- package/vendor/zotero/modules/translators/Thieme.js +326 -0
- package/vendor/zotero/modules/translators/Time.com.js +557 -0
- package/vendor/zotero/modules/translators/TimesMachine.js +222 -0
- package/vendor/zotero/modules/translators/Tony Blair Institute for Global Change.js +195 -0
- package/vendor/zotero/modules/translators/Toronto Star.js +331 -0
- package/vendor/zotero/modules/translators/Transportation Research Board.js +253 -0
- package/vendor/zotero/modules/translators/Treesearch.js +535 -0
- package/vendor/zotero/modules/translators/Trove.js +616 -0
- package/vendor/zotero/modules/translators/Tumblr.js +179 -0
- package/vendor/zotero/modules/translators/Twitter.js +413 -0
- package/vendor/zotero/modules/translators/UChicago VuFind.js +907 -0
- package/vendor/zotero/modules/translators/UNZ Print Archive.js +276 -0
- package/vendor/zotero/modules/translators/UPCommons.js +227 -0
- package/vendor/zotero/modules/translators/US National Archives Research Catalog.js +275 -0
- package/vendor/zotero/modules/translators/USENIX.js +151 -0
- package/vendor/zotero/modules/translators/USgamer.js +120 -0
- package/vendor/zotero/modules/translators/Ubiquity Journals.js +228 -0
- package/vendor/zotero/modules/translators/University Press Scholarship.js +301 -0
- package/vendor/zotero/modules/translators/University of California Press Books.js +403 -0
- package/vendor/zotero/modules/translators/University of Chicago Press Books.js +378 -0
- package/vendor/zotero/modules/translators/University of Wisconsin-Madison Libraries Catalog.js +298 -0
- package/vendor/zotero/modules/translators/Unqualified Dublin Core RDF.js +153 -0
- package/vendor/zotero/modules/translators/UpToDate References.js +203 -0
- package/vendor/zotero/modules/translators/Vanity Fair.js +242 -0
- package/vendor/zotero/modules/translators/Verniana-Jules Verne Studies.js +190 -0
- package/vendor/zotero/modules/translators/Verso Books.js +311 -0
- package/vendor/zotero/modules/translators/Vice.js +445 -0
- package/vendor/zotero/modules/translators/Victoria & Albert Museum.js +277 -0
- package/vendor/zotero/modules/translators/Vimeo.js +188 -0
- package/vendor/zotero/modules/translators/VoxEU.js +151 -0
- package/vendor/zotero/modules/translators/WHO.js +458 -0
- package/vendor/zotero/modules/translators/WIPO.js +189 -0
- package/vendor/zotero/modules/translators/Wall Street Journal.js +525 -0
- package/vendor/zotero/modules/translators/Wanfang Data.js +310 -0
- package/vendor/zotero/modules/translators/Washington Monthly.js +195 -0
- package/vendor/zotero/modules/translators/Washington Post.js +447 -0
- package/vendor/zotero/modules/translators/Web of Science Nextgen.js +832 -0
- package/vendor/zotero/modules/translators/Web of Science Tagged.js +1247 -0
- package/vendor/zotero/modules/translators/Web of Science.js +228 -0
- package/vendor/zotero/modules/translators/Welt Online.js +161 -0
- package/vendor/zotero/modules/translators/WestLaw UK.js +190 -0
- package/vendor/zotero/modules/translators/WikiLeaks PlusD.js +182 -0
- package/vendor/zotero/modules/translators/Wikidata QuickStatements.js +324 -0
- package/vendor/zotero/modules/translators/Wikidata.js +911 -0
- package/vendor/zotero/modules/translators/Wikimedia Commons.js +285 -0
- package/vendor/zotero/modules/translators/Wikipedia Citation Templates.js +432 -0
- package/vendor/zotero/modules/translators/Wikipedia.js +385 -0
- package/vendor/zotero/modules/translators/Wikisource.js +399 -0
- package/vendor/zotero/modules/translators/Wikiwand.js +122 -0
- package/vendor/zotero/modules/translators/Wiktionary.js +141 -0
- package/vendor/zotero/modules/translators/Wildlife Biology in Practice.js +172 -0
- package/vendor/zotero/modules/translators/Wiley Online Library.js +1412 -0
- package/vendor/zotero/modules/translators/Wilson Center Digital Archive.js +321 -0
- package/vendor/zotero/modules/translators/Winnipeg Free Press.js +204 -0
- package/vendor/zotero/modules/translators/Wired.js +249 -0
- package/vendor/zotero/modules/translators/Womennews.js +230 -0
- package/vendor/zotero/modules/translators/World Digital Library.js +403 -0
- package/vendor/zotero/modules/translators/World History Connected.js +185 -0
- package/vendor/zotero/modules/translators/World Shakespeare Bibliography Online.js +595 -0
- package/vendor/zotero/modules/translators/XML ContextObject.js +274 -0
- package/vendor/zotero/modules/translators/YPSF.js +224 -0
- package/vendor/zotero/modules/translators/Yandex Books.js +265 -0
- package/vendor/zotero/modules/translators/Ynet.js +171 -0
- package/vendor/zotero/modules/translators/YouTube.js +209 -0
- package/vendor/zotero/modules/translators/ZIPonline.js +267 -0
- package/vendor/zotero/modules/translators/ZOBODAT.js +341 -0
- package/vendor/zotero/modules/translators/Zotero RDF.js +583 -0
- package/vendor/zotero/modules/translators/ZoteroBib.js +94 -0
- package/vendor/zotero/modules/translators/arXiv.org.js +1099 -0
- package/vendor/zotero/modules/translators/artnet.js +207 -0
- package/vendor/zotero/modules/translators/beck-online.js +1339 -0
- package/vendor/zotero/modules/translators/clinicaltrials.gov.js +331 -0
- package/vendor/zotero/modules/translators/dLibra.js +367 -0
- package/vendor/zotero/modules/translators/dejure.org.js +242 -0
- package/vendor/zotero/modules/translators/dhistory.js +103 -0
- package/vendor/zotero/modules/translators/digibib.net.js +245 -0
- package/vendor/zotero/modules/translators/eLibrary.ru.js +867 -0
- package/vendor/zotero/modules/translators/eLife.js +462 -0
- package/vendor/zotero/modules/translators/eMJA.js +246 -0
- package/vendor/zotero/modules/translators/eMedicine.js +123 -0
- package/vendor/zotero/modules/translators/ePrint IACR.js +608 -0
- package/vendor/zotero/modules/translators/ebrary.js +140 -0
- package/vendor/zotero/modules/translators/etatar.ru.js +104 -0
- package/vendor/zotero/modules/translators/feb-web.ru.js +167 -0
- package/vendor/zotero/modules/translators/fishpond.co.nz.js +224 -0
- package/vendor/zotero/modules/translators/fr-online.de.js +209 -0
- package/vendor/zotero/modules/translators/govinfo.js +189 -0
- package/vendor/zotero/modules/translators/informIT database.js +248 -0
- package/vendor/zotero/modules/translators/io-port.js +68 -0
- package/vendor/zotero/modules/translators/jmlr.js +299 -0
- package/vendor/zotero/modules/translators/jurion.js +377 -0
- package/vendor/zotero/modules/translators/mEDRA.js +597 -0
- package/vendor/zotero/modules/translators/magazines.russ.ru.js +120 -0
- package/vendor/zotero/modules/translators/medes.js +284 -0
- package/vendor/zotero/modules/translators/newshub.co.nz.js +206 -0
- package/vendor/zotero/modules/translators/newspapers.com.js +335 -0
- package/vendor/zotero/modules/translators/openJur.js +161 -0
- package/vendor/zotero/modules/translators/reddit.js +275 -0
- package/vendor/zotero/modules/translators/sbn.it.js +186 -0
- package/vendor/zotero/modules/translators/scinapse.js +273 -0
- package/vendor/zotero/modules/translators/semantics Visual Library.js +643 -0
- package/vendor/zotero/modules/translators/taz.de.js +200 -0
- package/vendor/zotero/modules/translators/unAPI.js +481 -0
- package/vendor/zotero/modules/translators/washingtonpost.com.js +257 -0
- package/vendor/zotero/modules/translators/wiso.js +314 -0
- package/vendor/zotero/modules/translators/zbMATH.js +278 -0
- package/vendor/zotero/modules/translators/zotero.org.js +311 -0
- package/vendor/zotero/modules/utilities/README.md +25 -0
- package/vendor/zotero/modules/utilities/cachedTypes.js +193 -0
- package/vendor/zotero/modules/utilities/date.js +958 -0
- package/vendor/zotero/modules/utilities/openurl.js +458 -0
- package/vendor/zotero/modules/utilities/resource/README.md +4 -0
- package/vendor/zotero/modules/utilities/resource/dateFormats.json +1322 -0
- package/vendor/zotero/modules/utilities/resource/schema/global/README.md +15 -0
- package/vendor/zotero/modules/utilities/resource/schema/global/schema.json +12072 -0
- package/vendor/zotero/modules/utilities/resource/zoteroTypeSchemaData.js +5 -0
- package/vendor/zotero/modules/utilities/schema.js +65 -0
- package/vendor/zotero/modules/utilities/utilities.js +1841 -0
- package/vendor/zotero/modules/utilities/utilities_item.js +1082 -0
- package/vendor/zotero/modules/utilities/xregexp-all.js +4652 -0
- package/vendor/zotero/modules/utilities/xregexp-unicode-zotero.js +58 -0
- package/vendor/zotero/modules/zotero-schema/README.md +15 -0
- package/vendor/zotero/modules/zotero-schema/schema.json +12072 -0
- package/vendor/zotero/package-lock.json +4332 -0
- package/vendor/zotero/package.json +44 -0
- package/vendor/zotero/spec.yaml +142 -0
- package/vendor/zotero/src/args.js +43 -0
- package/vendor/zotero/src/cors.js +28 -0
- package/vendor/zotero/src/debug.js +189 -0
- package/vendor/zotero/src/exportEndpoint.js +97 -0
- package/vendor/zotero/src/formats.js +43 -0
- package/vendor/zotero/src/http.js +478 -0
- package/vendor/zotero/src/importEndpoint.js +54 -0
- package/vendor/zotero/src/lambda.js +75 -0
- package/vendor/zotero/src/proxy.js +356 -0
- package/vendor/zotero/src/searchEndpoint.js +97 -0
- package/vendor/zotero/src/server.js +85 -0
- package/vendor/zotero/src/specEndpoint.js +135 -0
- package/vendor/zotero/src/testEndpoint.js +50 -0
- package/vendor/zotero/src/textSearch.js +527 -0
- package/vendor/zotero/src/translation/sandboxManager.js +109 -0
- package/vendor/zotero/src/translation/translate.js +101 -0
- package/vendor/zotero/src/translation/translate_item.js +88 -0
- package/vendor/zotero/src/translators.js +264 -0
- package/vendor/zotero/src/utilities.js +49 -0
- package/vendor/zotero/src/webEndpoint.js +113 -0
- package/vendor/zotero/src/webSession.js +476 -0
- package/vendor/zotero/src/zotero.js +117 -0
- package/vendor/zotero/translate_export +10 -0
- package/vendor/zotero/translate_search +9 -0
- package/vendor/zotero/translate_url +9 -0
- package/vendor/zotero/translate_url_multiple +9 -0
- package/vendor/zotero/translate_url_single +9 -0
|
@@ -0,0 +1,1082 @@
|
|
|
1
|
+
/*
|
|
2
|
+
***** BEGIN LICENSE BLOCK *****
|
|
3
|
+
|
|
4
|
+
Copyright © 2021 Corporation for Digital Scholarship
|
|
5
|
+
Vienna, Virginia, USA
|
|
6
|
+
http://zotero.org
|
|
7
|
+
|
|
8
|
+
This file is part of Zotero.
|
|
9
|
+
|
|
10
|
+
Zotero is free software: you can redistribute it and/or modify
|
|
11
|
+
it under the terms of the GNU Affero General Public License as published by
|
|
12
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
13
|
+
(at your option) any later version.
|
|
14
|
+
|
|
15
|
+
Zotero is distributed in the hope that it will be useful,
|
|
16
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
17
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
18
|
+
GNU Affero General Public License for more details.
|
|
19
|
+
|
|
20
|
+
You should have received a copy of the GNU Affero General Public License
|
|
21
|
+
along with Zotero. If not, see <http://www.gnu.org/licenses/>.
|
|
22
|
+
|
|
23
|
+
***** END LICENSE BLOCK *****
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
(function() {
|
|
27
|
+
|
|
28
|
+
// Various Utility functions related to Zotero, API, Translation Item formats
|
|
29
|
+
// and their conversion or field access.
|
|
30
|
+
|
|
31
|
+
var Utilities_Item = {
|
|
32
|
+
PARTICLE_GIVEN_REGEXP: /^([^ ]+(?:\u02bb |\u2019 | |\' ) *)(.+)$/,
|
|
33
|
+
PARTICLE_FAMILY_REGEXP: /^([^ ]+(?:\-|\u02bb|\u2019| |\') *)(.+)$/,
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Tests if an item type exists
|
|
37
|
+
*
|
|
38
|
+
* @param {String} type Item type
|
|
39
|
+
* @type Boolean
|
|
40
|
+
*/
|
|
41
|
+
itemTypeExists: function(type) {
|
|
42
|
+
return !!Zotero.ItemTypes.getID(type);
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Converts an item from toArray() format to citeproc-js JSON
|
|
47
|
+
* @param {Zotero.Item} zoteroItem
|
|
48
|
+
* @return {Object|Promise<Object>} A CSL item, or a promise for a CSL item if a Zotero.Item
|
|
49
|
+
* is passed
|
|
50
|
+
*/
|
|
51
|
+
itemToCSLJSON: function(zoteroItem) {
|
|
52
|
+
// If a Zotero.Item was passed, convert it to the proper format (skipping child items) and
|
|
53
|
+
// call this function again with that object
|
|
54
|
+
//
|
|
55
|
+
// (Zotero.Item won't be defined in translation-server)
|
|
56
|
+
if (typeof Zotero.Item !== 'undefined' && zoteroItem instanceof Zotero.Item) {
|
|
57
|
+
return Utilities_Item.itemToCSLJSON(
|
|
58
|
+
Zotero.Utilities.Internal.itemToExportFormat(zoteroItem, false, true)
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
var cslType = Zotero.Schema.CSL_TYPE_MAPPINGS[zoteroItem.itemType];
|
|
63
|
+
if (!cslType) {
|
|
64
|
+
throw new Error('Unexpected Zotero Item type "' + zoteroItem.itemType + '"');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
var itemTypeID = Zotero.ItemTypes.getID(zoteroItem.itemType);
|
|
68
|
+
|
|
69
|
+
var cslItem = {
|
|
70
|
+
'id':zoteroItem.uri,
|
|
71
|
+
'type':cslType
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
// get all text variables (there must be a better way)
|
|
75
|
+
for(var variable in Zotero.Schema.CSL_TEXT_MAPPINGS) {
|
|
76
|
+
if (variable === "shortTitle") continue; // read both title-short and shortTitle, but write only title-short
|
|
77
|
+
var fields = Zotero.Schema.CSL_TEXT_MAPPINGS[variable];
|
|
78
|
+
for(var i=0, n=fields.length; i<n; i++) {
|
|
79
|
+
var field = fields[i],
|
|
80
|
+
value = null;
|
|
81
|
+
|
|
82
|
+
if(field in zoteroItem) {
|
|
83
|
+
value = zoteroItem[field];
|
|
84
|
+
} else {
|
|
85
|
+
if (field == 'versionNumber') field = 'version'; // Until https://github.com/zotero/zotero/issues/670
|
|
86
|
+
var fieldID = Zotero.ItemFields.getID(field),
|
|
87
|
+
typeFieldID;
|
|
88
|
+
if(fieldID
|
|
89
|
+
&& (typeFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID))
|
|
90
|
+
) {
|
|
91
|
+
value = zoteroItem[Zotero.ItemFields.getName(typeFieldID)];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (!value) continue;
|
|
96
|
+
|
|
97
|
+
if (typeof value == 'string') {
|
|
98
|
+
if (field == 'ISBN') {
|
|
99
|
+
// Only use the first ISBN in CSL JSON
|
|
100
|
+
var isbn = value.match(/^(?:97[89]-?)?(?:\d-?){9}[\dx](?!-)\b/i);
|
|
101
|
+
if (isbn) value = isbn[0];
|
|
102
|
+
}
|
|
103
|
+
else if (field == 'extra') {
|
|
104
|
+
value = Zotero.Utilities.Item.extraToCSL(value);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Strip enclosing quotes
|
|
108
|
+
if(value.charAt(0) == '"' && value.indexOf('"', 1) == value.length - 1) {
|
|
109
|
+
value = value.substring(1, value.length-1);
|
|
110
|
+
}
|
|
111
|
+
cslItem[variable] = value;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// separate name variables
|
|
118
|
+
if (zoteroItem.type != "attachment" && zoteroItem.type != "note") {
|
|
119
|
+
let primaryCreatorType = Zotero.CreatorTypes.getName(Zotero.CreatorTypes.getPrimaryIDForType(itemTypeID));
|
|
120
|
+
var creators = zoteroItem.creators;
|
|
121
|
+
for(var i=0; creators && i<creators.length; i++) {
|
|
122
|
+
var creator = creators[i];
|
|
123
|
+
var creatorType = creator.creatorType;
|
|
124
|
+
let cslCreatorType = Zotero.Schema.CSL_NAME_MAPPINGS[creatorType];
|
|
125
|
+
if (!cslCreatorType && creatorType == primaryCreatorType) {
|
|
126
|
+
cslCreatorType = "author";
|
|
127
|
+
}
|
|
128
|
+
if (!cslCreatorType) continue;
|
|
129
|
+
|
|
130
|
+
var nameObj;
|
|
131
|
+
if (creator.name || (creator.fieldMode === 1 && creator.lastName && !creator.firstName)) {
|
|
132
|
+
nameObj = {'literal': creator.name || creator.lastName};
|
|
133
|
+
}
|
|
134
|
+
else if (creator.lastName || creator.firstName) {
|
|
135
|
+
nameObj = {
|
|
136
|
+
family: creator.lastName || '',
|
|
137
|
+
given: creator.firstName || ''
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// Parse name particles
|
|
141
|
+
// Replicate citeproc-js logic for what should be parsed so we don't
|
|
142
|
+
// break current behavior.
|
|
143
|
+
if (nameObj.family && nameObj.given) {
|
|
144
|
+
// Don't parse if last name is quoted
|
|
145
|
+
if (nameObj.family.length > 1
|
|
146
|
+
&& nameObj.family.charAt(0) == '"'
|
|
147
|
+
&& nameObj.family.charAt(nameObj.family.length - 1) == '"'
|
|
148
|
+
) {
|
|
149
|
+
nameObj.family = nameObj.family.substr(1, nameObj.family.length - 2);
|
|
150
|
+
} else {
|
|
151
|
+
Zotero.Utilities.Item.parseParticles(nameObj);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if(cslItem[cslCreatorType]) {
|
|
157
|
+
cslItem[cslCreatorType].push(nameObj);
|
|
158
|
+
} else {
|
|
159
|
+
cslItem[cslCreatorType] = [nameObj];
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// get date variables
|
|
165
|
+
for(var variable in Zotero.Schema.CSL_DATE_MAPPINGS) {
|
|
166
|
+
var date = zoteroItem[Zotero.Schema.CSL_DATE_MAPPINGS[variable]];
|
|
167
|
+
if (!date) {
|
|
168
|
+
var typeSpecificFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, Zotero.Schema.CSL_DATE_MAPPINGS[variable]);
|
|
169
|
+
if (typeSpecificFieldID) {
|
|
170
|
+
date = zoteroItem[Zotero.ItemFields.getName(typeSpecificFieldID)];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if(date) {
|
|
175
|
+
// Convert UTC timestamp to local timestamp for access date
|
|
176
|
+
if (Zotero.Schema.CSL_DATE_MAPPINGS[variable] == 'accessDate' && !Zotero.Date.isSQLDate(date)) {
|
|
177
|
+
// Accept ISO date
|
|
178
|
+
if (Zotero.Date.isISODate(date)) {
|
|
179
|
+
let d = Zotero.Date.isoToDate(date);
|
|
180
|
+
date = Zotero.Date.dateToSQL(d, true);
|
|
181
|
+
}
|
|
182
|
+
let localDate = Zotero.Date.sqlToDate(date, true);
|
|
183
|
+
date = Zotero.Date.dateToSQL(localDate);
|
|
184
|
+
}
|
|
185
|
+
var dateObj = Zotero.Date.strToDate(date);
|
|
186
|
+
// otherwise, use date-parts
|
|
187
|
+
var dateParts = [];
|
|
188
|
+
if(dateObj.year) {
|
|
189
|
+
// add year, month, and day, if they exist
|
|
190
|
+
dateParts.push(dateObj.year);
|
|
191
|
+
if(dateObj.month !== undefined) {
|
|
192
|
+
// strToDate() returns a JS-style 0-indexed month, so we add 1 to it
|
|
193
|
+
dateParts.push(dateObj.month+1);
|
|
194
|
+
if(dateObj.day) {
|
|
195
|
+
dateParts.push(dateObj.day);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
cslItem[variable] = {"date-parts":[dateParts]};
|
|
199
|
+
|
|
200
|
+
// if no month, use season as month
|
|
201
|
+
if(dateObj.part && dateObj.month === undefined) {
|
|
202
|
+
cslItem[variable].season = dateObj.part;
|
|
203
|
+
}
|
|
204
|
+
} else {
|
|
205
|
+
// if no year, pass date literally
|
|
206
|
+
cslItem[variable] = {"literal":date};
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// Special mapping for note title
|
|
212
|
+
if (zoteroItem.itemType == 'note' && zoteroItem.note) {
|
|
213
|
+
cslItem.title = Zotero.Utilities.Item.noteToTitle(zoteroItem.note);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
//this._cache[zoteroItem.id] = cslItem;
|
|
217
|
+
return cslItem;
|
|
218
|
+
},
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Converts an item in CSL JSON format to a Zotero item
|
|
222
|
+
* @param {Zotero.Item} item
|
|
223
|
+
* @param {Object} cslItem
|
|
224
|
+
*/
|
|
225
|
+
itemFromCSLJSON: function(item, cslItem) {
|
|
226
|
+
var isZoteroItem = !!item.setType,
|
|
227
|
+
zoteroType;
|
|
228
|
+
|
|
229
|
+
if (!cslItem.type) {
|
|
230
|
+
Zotero.debug(cslItem, 1);
|
|
231
|
+
throw new Error("No 'type' provided in CSL-JSON");
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Some special cases to help us map item types correctly
|
|
235
|
+
// This ensures that we don't lose data on import. The fields
|
|
236
|
+
// we check are incompatible with the alternative item types
|
|
237
|
+
if (cslItem.type == 'bill' && (cslItem.publisher || cslItem['number-of-volumes'])) {
|
|
238
|
+
zoteroType = 'hearing';
|
|
239
|
+
}
|
|
240
|
+
else if (cslItem.type == 'broadcast'
|
|
241
|
+
&& (cslItem['archive']
|
|
242
|
+
|| cslItem['archive_location']
|
|
243
|
+
|| cslItem['container-title']
|
|
244
|
+
|| cslItem['event-place']
|
|
245
|
+
|| cslItem['publisher']
|
|
246
|
+
|| cslItem['publisher-place']
|
|
247
|
+
|| cslItem['source'])) {
|
|
248
|
+
zoteroType = 'tvBroadcast';
|
|
249
|
+
}
|
|
250
|
+
else if (cslItem.type == 'book' && cslItem.version) {
|
|
251
|
+
zoteroType = 'computerProgram';
|
|
252
|
+
}
|
|
253
|
+
else if (cslItem.type == 'song' && cslItem.number) {
|
|
254
|
+
zoteroType = 'podcast';
|
|
255
|
+
}
|
|
256
|
+
else if (cslItem.type == 'motion_picture'
|
|
257
|
+
&& (cslItem['collection-title'] || cslItem['publisher-place']
|
|
258
|
+
|| cslItem['event-place'] || cslItem.volume
|
|
259
|
+
|| cslItem['number-of-volumes'] || cslItem.ISBN)) {
|
|
260
|
+
zoteroType = 'videoRecording';
|
|
261
|
+
}
|
|
262
|
+
else if (Zotero.Schema.CSL_TYPE_MAPPINGS_REVERSE[cslItem.type]) {
|
|
263
|
+
zoteroType = Zotero.Schema.CSL_TYPE_MAPPINGS_REVERSE[cslItem.type][0];
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
Zotero.debug(`Unknown CSL type '${cslItem.type}' -- using 'document'`, 2);
|
|
267
|
+
zoteroType = "document"
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
var itemTypeID = Zotero.ItemTypes.getID(zoteroType);
|
|
271
|
+
if(isZoteroItem) {
|
|
272
|
+
item.setType(itemTypeID);
|
|
273
|
+
} else {
|
|
274
|
+
item.itemID = cslItem.id;
|
|
275
|
+
item.itemType = zoteroType;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// map text fields
|
|
279
|
+
for (let variable in Zotero.Schema.CSL_TEXT_MAPPINGS) {
|
|
280
|
+
if(variable in cslItem) {
|
|
281
|
+
let textMappings = Zotero.Schema.CSL_TEXT_MAPPINGS[variable];
|
|
282
|
+
for(var i=0; i<textMappings.length; i++) {
|
|
283
|
+
var field = textMappings[i];
|
|
284
|
+
var fieldID = Zotero.ItemFields.getID(field);
|
|
285
|
+
|
|
286
|
+
if(Zotero.ItemFields.isBaseField(fieldID)) {
|
|
287
|
+
var newFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID);
|
|
288
|
+
if(newFieldID) fieldID = newFieldID;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
if(Zotero.ItemFields.isValidForType(fieldID, itemTypeID)) {
|
|
292
|
+
// TODO: Convert restrictive Extra cheater syntax ('original-date: 2018')
|
|
293
|
+
// to nicer format we allow ('Original Date: 2018'), unless we've added
|
|
294
|
+
// those fields before we get to that
|
|
295
|
+
if(isZoteroItem) {
|
|
296
|
+
item.setField(fieldID, cslItem[variable]);
|
|
297
|
+
} else {
|
|
298
|
+
item[field] = cslItem[variable];
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// separate name variables
|
|
308
|
+
for (let field in Zotero.Schema.CSL_NAME_MAPPINGS) {
|
|
309
|
+
if (Zotero.Schema.CSL_NAME_MAPPINGS[field] in cslItem) {
|
|
310
|
+
var creatorTypeID = Zotero.CreatorTypes.getID(field);
|
|
311
|
+
if(!Zotero.CreatorTypes.isValidForItemType(creatorTypeID, itemTypeID)) {
|
|
312
|
+
creatorTypeID = Zotero.CreatorTypes.getPrimaryIDForType(itemTypeID);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
let nameMappings = cslItem[Zotero.Schema.CSL_NAME_MAPPINGS[field]];
|
|
316
|
+
for(var i in nameMappings) {
|
|
317
|
+
var cslAuthor = nameMappings[i];
|
|
318
|
+
let creator = {};
|
|
319
|
+
if(cslAuthor.family || cslAuthor.given) {
|
|
320
|
+
creator.lastName = cslAuthor.family || '';
|
|
321
|
+
creator.firstName = cslAuthor.given || '';
|
|
322
|
+
} else if(cslAuthor.literal) {
|
|
323
|
+
creator.lastName = cslAuthor.literal;
|
|
324
|
+
creator.fieldMode = 1;
|
|
325
|
+
} else {
|
|
326
|
+
continue;
|
|
327
|
+
}
|
|
328
|
+
creator.creatorTypeID = creatorTypeID;
|
|
329
|
+
|
|
330
|
+
if(isZoteroItem) {
|
|
331
|
+
item.setCreator(item.getCreators().length, creator);
|
|
332
|
+
} else {
|
|
333
|
+
creator.creatorType = Zotero.CreatorTypes.getName(creatorTypeID);
|
|
334
|
+
if (Zotero.isFx && !Zotero.isBookmarklet) {
|
|
335
|
+
creator = Components.utils.cloneInto(creator, item);
|
|
336
|
+
}
|
|
337
|
+
item.creators.push(creator);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// get date variables
|
|
344
|
+
for (let variable in Zotero.Schema.CSL_DATE_MAPPINGS) {
|
|
345
|
+
if(variable in cslItem) {
|
|
346
|
+
let field = Zotero.Schema.CSL_DATE_MAPPINGS[variable];
|
|
347
|
+
let fieldID = Zotero.ItemFields.getID(field);
|
|
348
|
+
let cslDate = cslItem[variable];
|
|
349
|
+
if(Zotero.ItemFields.isBaseField(fieldID)) {
|
|
350
|
+
var newFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(itemTypeID, fieldID);
|
|
351
|
+
if(newFieldID) fieldID = newFieldID;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
if(Zotero.ItemFields.isValidForType(fieldID, itemTypeID)) {
|
|
355
|
+
var date = "";
|
|
356
|
+
if(cslDate.literal || cslDate.raw) {
|
|
357
|
+
date = cslDate.literal || cslDate.raw;
|
|
358
|
+
if(variable === "accessed") {
|
|
359
|
+
date = Zotero.Date.strToISO(date);
|
|
360
|
+
}
|
|
361
|
+
} else {
|
|
362
|
+
var newDate = Zotero.Utilities.deepCopy(cslDate);
|
|
363
|
+
if(cslDate["date-parts"] && typeof cslDate["date-parts"] === "object"
|
|
364
|
+
&& cslDate["date-parts"] !== null
|
|
365
|
+
&& typeof cslDate["date-parts"][0] === "object"
|
|
366
|
+
&& cslDate["date-parts"][0] !== null) {
|
|
367
|
+
if(cslDate["date-parts"][0][0]) newDate.year = cslDate["date-parts"][0][0];
|
|
368
|
+
if(cslDate["date-parts"][0][1]) newDate.month = cslDate["date-parts"][0][1];
|
|
369
|
+
if(cslDate["date-parts"][0][2]) newDate.day = cslDate["date-parts"][0][2];
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
if(newDate.year) {
|
|
373
|
+
if(variable === "accessed") {
|
|
374
|
+
// Need to convert to SQL
|
|
375
|
+
var date = Zotero.Utilities.lpad(newDate.year, "0", 4);
|
|
376
|
+
if(newDate.month) {
|
|
377
|
+
date += "-"+Zotero.Utilities.lpad(newDate.month, "0", 2);
|
|
378
|
+
if(newDate.day) {
|
|
379
|
+
date += "-"+Zotero.Utilities.lpad(newDate.day, "0", 2);
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
} else {
|
|
383
|
+
if(newDate.month) newDate.month--;
|
|
384
|
+
date = Zotero.Date.formatDate(newDate);
|
|
385
|
+
if(newDate.season) {
|
|
386
|
+
date = newDate.season+" "+date;
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
if(isZoteroItem) {
|
|
393
|
+
item.setField(fieldID, date);
|
|
394
|
+
} else {
|
|
395
|
+
item[field] = date;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
},
|
|
401
|
+
|
|
402
|
+
/**
|
|
403
|
+
* Given API JSON for an item, return the best single first creator, regardless of creator order
|
|
404
|
+
*
|
|
405
|
+
* Note that this is just a single creator, not the firstCreator field return from the
|
|
406
|
+
* Zotero.Item::firstCreator property or Zotero.Items.getFirstCreatorFromData()
|
|
407
|
+
*
|
|
408
|
+
* @return {Object|false} - Creator in API JSON format, or false
|
|
409
|
+
*/
|
|
410
|
+
getFirstCreatorFromItemJSON: function (json) {
|
|
411
|
+
var primaryCreatorType = Zotero.CreatorTypes.getName(
|
|
412
|
+
Zotero.CreatorTypes.getPrimaryIDForType(
|
|
413
|
+
Zotero.ItemTypes.getID(json.itemType)
|
|
414
|
+
)
|
|
415
|
+
);
|
|
416
|
+
let firstCreator = json.creators.find(creator => {
|
|
417
|
+
return creator.creatorType == primaryCreatorType || creator.creatorType == 'author';
|
|
418
|
+
});
|
|
419
|
+
if (!firstCreator) {
|
|
420
|
+
firstCreator = json.creators.find(creator => creator.creatorType == 'editor');
|
|
421
|
+
}
|
|
422
|
+
if (!firstCreator) {
|
|
423
|
+
return false;
|
|
424
|
+
}
|
|
425
|
+
return firstCreator;
|
|
426
|
+
},
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Taken from citeproc-js. Extracts particles (e.g. de, von, etc.) from family name and given name.
|
|
430
|
+
*
|
|
431
|
+
* Copyright (c) 2009-2019 Frank Bennett
|
|
432
|
+
* This program is free software: you can redistribute it and/or
|
|
433
|
+
* modify it under EITHER
|
|
434
|
+
*
|
|
435
|
+
* * the terms of the Common Public Attribution License (CPAL) as
|
|
436
|
+
* published by the Open Source Initiative, either version 1 of
|
|
437
|
+
* the CPAL, or (at your option) any later version; OR
|
|
438
|
+
*
|
|
439
|
+
* * the terms of the GNU Affero General Public License (AGPL)
|
|
440
|
+
* as published by the Free Software Foundation, either version
|
|
441
|
+
* 3 of the AGPL, or (at your option) any later version.
|
|
442
|
+
*
|
|
443
|
+
* This program is distributed in the hope that it will be useful,
|
|
444
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
445
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
446
|
+
* Affero General Public License for more details.
|
|
447
|
+
*
|
|
448
|
+
* You should have received copies of the Common Public Attribution
|
|
449
|
+
* License and of the GNU Affero General Public License along with
|
|
450
|
+
* this program. If not, see <https://opensource.org/licenses/> or
|
|
451
|
+
* <http://www.gnu.org/licenses/> respectively.
|
|
452
|
+
*/
|
|
453
|
+
parseParticles: function (nameObj) {
|
|
454
|
+
function splitParticles(nameValue, firstNameFlag, caseOverride) {
|
|
455
|
+
// Parse particles out from name fields.
|
|
456
|
+
// * nameValue (string) is the field content to be parsed.
|
|
457
|
+
// * firstNameFlag (boolean) parse trailing particles
|
|
458
|
+
// (default is to parse leading particles)
|
|
459
|
+
// * caseOverride (boolean) include all but one word in particle set
|
|
460
|
+
// (default is to include only words with lowercase first char)
|
|
461
|
+
// [caseOverride is not used in this application]
|
|
462
|
+
// Returns an array with:
|
|
463
|
+
// * (boolean) flag indicating whether a particle was found
|
|
464
|
+
// * (string) the name after removal of particles
|
|
465
|
+
// * (array) the list of particles found
|
|
466
|
+
var origNameValue = nameValue;
|
|
467
|
+
nameValue = caseOverride ? nameValue.toLowerCase() : nameValue;
|
|
468
|
+
var particleList = [];
|
|
469
|
+
var rex;
|
|
470
|
+
var hasParticle;
|
|
471
|
+
if (firstNameFlag) {
|
|
472
|
+
nameValue = nameValue.split("").reverse().join("");
|
|
473
|
+
rex = Utilities_Item.PARTICLE_GIVEN_REGEXP;
|
|
474
|
+
} else {
|
|
475
|
+
rex = Utilities_Item.PARTICLE_FAMILY_REGEXP;
|
|
476
|
+
}
|
|
477
|
+
var m = nameValue.match(rex);
|
|
478
|
+
while (m) {
|
|
479
|
+
var m1 = firstNameFlag ? m[1].split("").reverse().join("") : m[1];
|
|
480
|
+
var firstChar = m ? m1 : false;
|
|
481
|
+
var firstChar = firstChar ? m1.replace(/^[-\'\u02bb\u2019\s]*(.).*$/, "$1") : false;
|
|
482
|
+
hasParticle = firstChar ? firstChar.toUpperCase() !== firstChar : false;
|
|
483
|
+
if (!hasParticle) {
|
|
484
|
+
break;
|
|
485
|
+
}
|
|
486
|
+
if (firstNameFlag) {
|
|
487
|
+
particleList.push(origNameValue.slice(m1.length * -1));
|
|
488
|
+
origNameValue = origNameValue.slice(0,m1.length * -1);
|
|
489
|
+
} else {
|
|
490
|
+
particleList.push(origNameValue.slice(0,m1.length));
|
|
491
|
+
origNameValue = origNameValue.slice(m1.length);
|
|
492
|
+
}
|
|
493
|
+
//particleList.push(m1);
|
|
494
|
+
nameValue = m[2];
|
|
495
|
+
m = nameValue.match(rex);
|
|
496
|
+
}
|
|
497
|
+
if (firstNameFlag) {
|
|
498
|
+
nameValue = nameValue.split("").reverse().join("");
|
|
499
|
+
particleList.reverse();
|
|
500
|
+
for (var i=1,ilen=particleList.length;i<ilen;i++) {
|
|
501
|
+
if (particleList[i].slice(0, 1) == " ") {
|
|
502
|
+
particleList[i-1] += " ";
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
for (var i=0,ilen=particleList.length;i<ilen;i++) {
|
|
506
|
+
if (particleList[i].slice(0, 1) == " ") {
|
|
507
|
+
particleList[i] = particleList[i].slice(1);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
nameValue = origNameValue.slice(0, nameValue.length);
|
|
511
|
+
} else {
|
|
512
|
+
nameValue = origNameValue.slice(nameValue.length * -1);
|
|
513
|
+
}
|
|
514
|
+
return [hasParticle, nameValue, particleList];
|
|
515
|
+
}
|
|
516
|
+
function trimLast(str) {
|
|
517
|
+
var lastChar = str.slice(-1);
|
|
518
|
+
str = str.trim();
|
|
519
|
+
if (lastChar === " " && ["\'", "\u2019"].indexOf(str.slice(-1)) > -1) {
|
|
520
|
+
str += " ";
|
|
521
|
+
}
|
|
522
|
+
return str;
|
|
523
|
+
}
|
|
524
|
+
function parseSuffix(nameObj) {
|
|
525
|
+
if (!nameObj.suffix && nameObj.given) {
|
|
526
|
+
var m = nameObj.given.match(/(\s*,!*\s*)/);
|
|
527
|
+
if (m) {
|
|
528
|
+
var idx = nameObj.given.indexOf(m[1]);
|
|
529
|
+
var possible_suffix = nameObj.given.slice(idx + m[1].length);
|
|
530
|
+
var possible_comma = nameObj.given.slice(idx, idx + m[1].length).replace(/\s*/g, "");
|
|
531
|
+
if (possible_suffix.replace(/\./g, "") === 'et al' && !nameObj["dropping-particle"]) {
|
|
532
|
+
// This hack covers the case where "et al." is explicitly used in the
|
|
533
|
+
// authorship information of the work.
|
|
534
|
+
nameObj["dropping-particle"] = possible_suffix;
|
|
535
|
+
nameObj["comma-dropping-particle"] = ",";
|
|
536
|
+
} else {
|
|
537
|
+
if (possible_comma.length === 2) {
|
|
538
|
+
nameObj["comma-suffix"] = true;
|
|
539
|
+
}
|
|
540
|
+
nameObj.suffix = possible_suffix;
|
|
541
|
+
}
|
|
542
|
+
nameObj.given = nameObj.given.slice(0, idx);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
// Extract and set non-dropping particle(s) from family name field
|
|
547
|
+
var res = splitParticles(nameObj.family);
|
|
548
|
+
var lastNameValue = res[1];
|
|
549
|
+
var lastParticleList = res[2];
|
|
550
|
+
nameObj.family = lastNameValue;
|
|
551
|
+
var nonDroppingParticle = trimLast(lastParticleList.join(""));
|
|
552
|
+
if (nonDroppingParticle) {
|
|
553
|
+
nameObj['non-dropping-particle'] = nonDroppingParticle;
|
|
554
|
+
}
|
|
555
|
+
// Split off suffix first of all
|
|
556
|
+
parseSuffix(nameObj);
|
|
557
|
+
// Extract and set dropping particle(s) from given name field
|
|
558
|
+
var res = splitParticles(nameObj.given, true);
|
|
559
|
+
var firstNameValue = res[1];
|
|
560
|
+
var firstParticleList = res[2];
|
|
561
|
+
nameObj.given = firstNameValue;
|
|
562
|
+
var droppingParticle = firstParticleList.join("").trim();
|
|
563
|
+
if (droppingParticle) {
|
|
564
|
+
nameObj['dropping-particle'] = droppingParticle;
|
|
565
|
+
}
|
|
566
|
+
},
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Return first line (or first MAX_LENGTH characters) of note content
|
|
570
|
+
*
|
|
571
|
+
* @param {String} text
|
|
572
|
+
* @param {Object} [options]
|
|
573
|
+
* @param {Boolean} [options.stopAtLineBreak] - Stop at <br/> instead of converting to space
|
|
574
|
+
* @return {String}
|
|
575
|
+
*/
|
|
576
|
+
noteToTitle: function (text, options = {}) {
|
|
577
|
+
var MAX_TITLE_LENGTH = 120;
|
|
578
|
+
var origText = text;
|
|
579
|
+
text = text.trim();
|
|
580
|
+
// Add line breaks after block elements
|
|
581
|
+
text = text.replace(/(<\/(h\d|p|div)+>)/g, '$1\n');
|
|
582
|
+
if (options.stopAtLineBreak) {
|
|
583
|
+
text = text.replace(/<br\s*\/?>/g, '\n');
|
|
584
|
+
}
|
|
585
|
+
else {
|
|
586
|
+
text = text.replace(/<br\s*\/?>/g, ' ');
|
|
587
|
+
}
|
|
588
|
+
text = Zotero.Utilities.unescapeHTML(text);
|
|
589
|
+
|
|
590
|
+
// If first line is just an opening HTML tag, remove it
|
|
591
|
+
//
|
|
592
|
+
// Example:
|
|
593
|
+
//
|
|
594
|
+
// <blockquote>
|
|
595
|
+
// <p>Foo</p>
|
|
596
|
+
// </blockquote>
|
|
597
|
+
if (/^<[^>\n]+[^\/]>\n/.test(origText)) {
|
|
598
|
+
text = text.trim();
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
var t = text.substring(0, MAX_TITLE_LENGTH);
|
|
602
|
+
var ln = t.indexOf("\n");
|
|
603
|
+
if (ln > -1 && ln < MAX_TITLE_LENGTH) {
|
|
604
|
+
t = t.substring(0, ln);
|
|
605
|
+
}
|
|
606
|
+
return t;
|
|
607
|
+
},
|
|
608
|
+
|
|
609
|
+
/**
|
|
610
|
+
* Preprocess Zotero item extra field for passing to citeproc-js for extra CSL properties
|
|
611
|
+
* @param extra
|
|
612
|
+
* @returns {String|string|void|*}
|
|
613
|
+
*/
|
|
614
|
+
extraToCSL: function (extra) {
|
|
615
|
+
return extra.replace(/^([A-Za-z \-]+)(:\s*.+)/gm, function (_, field, value) {
|
|
616
|
+
var originalField = field;
|
|
617
|
+
field = field.toLowerCase().replace(/ /g, '-');
|
|
618
|
+
// Fields from https://aurimasv.github.io/z2csl/typeMap.xml
|
|
619
|
+
switch (field) {
|
|
620
|
+
// Standard fields
|
|
621
|
+
case 'abstract':
|
|
622
|
+
case 'accessed':
|
|
623
|
+
case 'annote':
|
|
624
|
+
case 'archive':
|
|
625
|
+
case 'archive-place':
|
|
626
|
+
case 'author':
|
|
627
|
+
case 'authority':
|
|
628
|
+
case 'call-number':
|
|
629
|
+
case 'chapter-number':
|
|
630
|
+
case 'citation-label':
|
|
631
|
+
case 'citation-number':
|
|
632
|
+
case 'collection-editor':
|
|
633
|
+
case 'collection-number':
|
|
634
|
+
case 'collection-title':
|
|
635
|
+
case 'composer':
|
|
636
|
+
case 'container':
|
|
637
|
+
case 'container-author':
|
|
638
|
+
case 'container-title':
|
|
639
|
+
case 'container-title-short':
|
|
640
|
+
case 'dimensions':
|
|
641
|
+
case 'director':
|
|
642
|
+
case 'edition':
|
|
643
|
+
case 'editor':
|
|
644
|
+
case 'editorial-director':
|
|
645
|
+
case 'event':
|
|
646
|
+
case 'event-date':
|
|
647
|
+
case 'event-place':
|
|
648
|
+
case 'first-reference-note-number':
|
|
649
|
+
case 'genre':
|
|
650
|
+
case 'illustrator':
|
|
651
|
+
case 'interviewer':
|
|
652
|
+
case 'issue':
|
|
653
|
+
case 'issued':
|
|
654
|
+
case 'jurisdiction':
|
|
655
|
+
case 'keyword':
|
|
656
|
+
case 'language':
|
|
657
|
+
case 'locator':
|
|
658
|
+
case 'medium':
|
|
659
|
+
case 'note':
|
|
660
|
+
case 'number':
|
|
661
|
+
case 'number-of-pages':
|
|
662
|
+
case 'number-of-volumes':
|
|
663
|
+
case 'original-author':
|
|
664
|
+
case 'original-date':
|
|
665
|
+
case 'original-publisher':
|
|
666
|
+
case 'original-publisher-place':
|
|
667
|
+
case 'original-title':
|
|
668
|
+
case 'page':
|
|
669
|
+
case 'page-first':
|
|
670
|
+
case 'publisher':
|
|
671
|
+
case 'publisher-place':
|
|
672
|
+
case 'recipient':
|
|
673
|
+
case 'references':
|
|
674
|
+
case 'reviewed-author':
|
|
675
|
+
case 'reviewed-title':
|
|
676
|
+
case 'scale':
|
|
677
|
+
case 'section':
|
|
678
|
+
case 'source':
|
|
679
|
+
case 'status':
|
|
680
|
+
case 'submitted':
|
|
681
|
+
case 'title':
|
|
682
|
+
case 'title-short':
|
|
683
|
+
case 'translator':
|
|
684
|
+
case 'type':
|
|
685
|
+
case 'version':
|
|
686
|
+
case 'volume':
|
|
687
|
+
case 'year-suffix':
|
|
688
|
+
break;
|
|
689
|
+
|
|
690
|
+
// Uppercase fields
|
|
691
|
+
case 'doi':
|
|
692
|
+
case 'isbn':
|
|
693
|
+
case 'issn':
|
|
694
|
+
case 'pmcid':
|
|
695
|
+
case 'pmid':
|
|
696
|
+
case 'url':
|
|
697
|
+
field = field.toUpperCase();
|
|
698
|
+
break;
|
|
699
|
+
|
|
700
|
+
// Weirdo
|
|
701
|
+
case 'archive-location':
|
|
702
|
+
field = 'archive_location';
|
|
703
|
+
break;
|
|
704
|
+
|
|
705
|
+
default:
|
|
706
|
+
// See if this is a Zotero field written out (e.g., "Publication Title"), and if so
|
|
707
|
+
// convert to its associated CSL field
|
|
708
|
+
var zoteroField = originalField.replace(/ ([A-Z])/, '$1');
|
|
709
|
+
// If second character is lowercase (so not an acronym), lowercase first letter too
|
|
710
|
+
if (zoteroField[1] && zoteroField[1] == zoteroField[1].toLowerCase()) {
|
|
711
|
+
zoteroField = zoteroField[0].toLowerCase() + zoteroField.substr(1);
|
|
712
|
+
}
|
|
713
|
+
if (Zotero.Schema.CSL_FIELD_MAPPINGS_REVERSE[zoteroField]) {
|
|
714
|
+
field = Zotero.Schema.CSL_FIELD_MAPPINGS_REVERSE[zoteroField];
|
|
715
|
+
}
|
|
716
|
+
// Don't change other lines
|
|
717
|
+
else {
|
|
718
|
+
field = originalField;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
return field + value;
|
|
722
|
+
});
|
|
723
|
+
},
|
|
724
|
+
|
|
725
|
+
/**
|
|
726
|
+
* Map a user-provided language name to an ISO 639-1 language code.
|
|
727
|
+
* Language names are matched against languages' English names and native
|
|
728
|
+
* names. Case and diacritics are ignored.
|
|
729
|
+
*
|
|
730
|
+
* @param {String} language
|
|
731
|
+
* @return {String}
|
|
732
|
+
*/
|
|
733
|
+
languageToISO6391: function (language) {
|
|
734
|
+
if (!language) {
|
|
735
|
+
return '';
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
if (!globalThis.Intl || !globalThis.Intl.DisplayNames) {
|
|
739
|
+
Zotero.debug('Intl.DisplayNames not available: returning language as-is');
|
|
740
|
+
return language;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
let normalize = s => s.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g, '');
|
|
744
|
+
|
|
745
|
+
let languageMap = Utilities_Item._languageMap;
|
|
746
|
+
if (!languageMap) {
|
|
747
|
+
languageMap = Utilities_Item._languageMap = new Map();
|
|
748
|
+
|
|
749
|
+
let allLocales = ["ab", "aa", "af", "ak", "sq", "am", "ar", "an", "hy", "as", "av", "ae", "ay", "az", "bm", "ba", "eu", "be", "bn", "bi", "bs", "br", "bg", "my", "ca", "ch", "ce", "ny", "zh", "cu", "cv", "kw", "co", "cr", "hr", "cs", "da", "dv", "nl", "dz", "en", "eo", "et", "ee", "fo", "fj", "fi", "fr", "fy", "ff", "gd", "gl", "lg", "ka", "de", "el", "kl", "gn", "gu", "ht", "ha", "he", "hz", "hi", "ho", "hu", "is", "io", "ig", "id", "ia", "ie", "iu", "ik", "ga", "it", "ja", "jv", "kn", "kr", "ks", "kk", "km", "ki", "rw", "ky", "kv", "kg", "ko", "kj", "ku", "lo", "la", "lv", "li", "ln", "lt", "lu", "lb", "mk", "mg", "ms", "ml", "mt", "gv", "mi", "mr", "mh", "mn", "na", "nv", "nd", "nr", "ng", "ne", "no", "nb", "nn", "ii", "oc", "oj", "or", "om", "os", "pi", "ps", "fa", "pl", "pt", "pa", "qu", "ro", "rm", "rn", "ru", "se", "sm", "sg", "sa", "sc", "sr", "sn", "sd", "si", "sk", "sl", "so", "st", "es", "su", "sw", "ss", "sv", "tl", "ty", "tg", "ta", "tt", "te", "th", "bo", "ti", "to", "ts", "tn", "tr", "tk", "tw", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "cy", "wo", "xh", "yi", "yo", "za", "zu"];
|
|
750
|
+
let englishLanguageNames = new Intl.DisplayNames('en', { type: 'language' });
|
|
751
|
+
let userLanguageNames = new Intl.DisplayNames(Zotero.locale, { type: 'language' });
|
|
752
|
+
for (let locale of Intl.DisplayNames.supportedLocalesOf(allLocales)) {
|
|
753
|
+
let inEnglish = englishLanguageNames.of(locale);
|
|
754
|
+
if (inEnglish) {
|
|
755
|
+
languageMap.set(normalize(inEnglish), locale);
|
|
756
|
+
}
|
|
757
|
+
|
|
758
|
+
let inUser = userLanguageNames.of(locale);
|
|
759
|
+
if (inUser) {
|
|
760
|
+
languageMap.set(normalize(inUser), locale);
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
let selfLanguageNames = new Intl.DisplayNames(locale, { type: 'language' });
|
|
764
|
+
let inSelf = selfLanguageNames.of(locale);
|
|
765
|
+
if (inSelf) {
|
|
766
|
+
languageMap.set(normalize(inSelf), locale);
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
return languageMap.get(normalize(language)) || language;
|
|
772
|
+
},
|
|
773
|
+
|
|
774
|
+
/**
|
|
775
|
+
* Converts an item from toArray() format to an array of items in
|
|
776
|
+
* the content=json format used by the server
|
|
777
|
+
*
|
|
778
|
+
* (for origin see: https://github.com/zotero/zotero/blob/56f9f043/chrome/content/zotero/xpcom/utilities.js#L1526-L1526)
|
|
779
|
+
*
|
|
780
|
+
*/
|
|
781
|
+
itemToAPIJSON: function(item) {
|
|
782
|
+
var newItem = {
|
|
783
|
+
key: Zotero.Utilities.generateObjectKey(),
|
|
784
|
+
version: 0
|
|
785
|
+
},
|
|
786
|
+
newItems = [newItem];
|
|
787
|
+
|
|
788
|
+
var typeID = Zotero.ItemTypes.getID(item.itemType);
|
|
789
|
+
if(!typeID) {
|
|
790
|
+
Zotero.debug(`itemToAPIJSON: Invalid itemType ${item.itemType}; using webpage`);
|
|
791
|
+
item.itemType = "webpage";
|
|
792
|
+
typeID = Zotero.ItemTypes.getID(item.itemType);
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
var accessDateFieldID = Zotero.ItemFields.getID('accessDate');
|
|
796
|
+
|
|
797
|
+
var fieldID, itemFieldID;
|
|
798
|
+
for(var field in item) {
|
|
799
|
+
if(field === "complete" || field === "itemID" || field === "attachments"
|
|
800
|
+
|| field === "seeAlso") continue;
|
|
801
|
+
|
|
802
|
+
var val = item[field];
|
|
803
|
+
|
|
804
|
+
if(field === "itemType") {
|
|
805
|
+
newItem[field] = val;
|
|
806
|
+
} else if(field === "creators") {
|
|
807
|
+
// normalize creators
|
|
808
|
+
var n = val.length;
|
|
809
|
+
var newCreators = newItem.creators = [];
|
|
810
|
+
for(var j=0; j<n; j++) {
|
|
811
|
+
var creator = val[j];
|
|
812
|
+
|
|
813
|
+
if(!creator.firstName && !creator.lastName) {
|
|
814
|
+
Zotero.debug("itemToAPIJSON: Silently dropping empty creator");
|
|
815
|
+
continue;
|
|
816
|
+
}
|
|
817
|
+
|
|
818
|
+
// Single-field mode
|
|
819
|
+
if (!creator.firstName || (creator.fieldMode && creator.fieldMode == 1)) {
|
|
820
|
+
var newCreator = {
|
|
821
|
+
name: creator.lastName
|
|
822
|
+
};
|
|
823
|
+
}
|
|
824
|
+
// Two-field mode
|
|
825
|
+
else {
|
|
826
|
+
var newCreator = {
|
|
827
|
+
firstName: creator.firstName,
|
|
828
|
+
lastName: creator.lastName
|
|
829
|
+
};
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
// ensure creatorType is present and valid
|
|
833
|
+
if(creator.creatorType) {
|
|
834
|
+
if(Zotero.CreatorTypes.getID(creator.creatorType)) {
|
|
835
|
+
newCreator.creatorType = creator.creatorType;
|
|
836
|
+
} else {
|
|
837
|
+
Zotero.debug(`itemToAPIJSON: Invalid creator type ${creator.creatorType}; `
|
|
838
|
+
+ "falling back to author");
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
if(!newCreator.creatorType) newCreator.creatorType = "author";
|
|
842
|
+
|
|
843
|
+
newCreators.push(newCreator);
|
|
844
|
+
}
|
|
845
|
+
} else if(field === "tags") {
|
|
846
|
+
// normalize tags
|
|
847
|
+
var n = val.length;
|
|
848
|
+
var newTags = newItem.tags = [];
|
|
849
|
+
for(var j=0; j<n; j++) {
|
|
850
|
+
var tag = val[j];
|
|
851
|
+
if(typeof tag === "object") {
|
|
852
|
+
if(tag.tag) {
|
|
853
|
+
tag = tag.tag;
|
|
854
|
+
} else if(tag.name) {
|
|
855
|
+
tag = tag.name;
|
|
856
|
+
} else {
|
|
857
|
+
Zotero.debug("itemToAPIJSON: Discarded invalid tag");
|
|
858
|
+
continue;
|
|
859
|
+
}
|
|
860
|
+
} else if(tag === "") {
|
|
861
|
+
continue;
|
|
862
|
+
}
|
|
863
|
+
newTags.push({"tag":tag.toString(), "type":1});
|
|
864
|
+
}
|
|
865
|
+
} else if(field === "notes") {
|
|
866
|
+
// normalize notes
|
|
867
|
+
var n = val.length;
|
|
868
|
+
for(var j=0; j<n; j++) {
|
|
869
|
+
var note = val[j];
|
|
870
|
+
if(typeof note === "object") {
|
|
871
|
+
if(!note.note) {
|
|
872
|
+
Zotero.debug("itemToAPIJSON: Discarded invalid note");
|
|
873
|
+
continue;
|
|
874
|
+
}
|
|
875
|
+
note = note.note;
|
|
876
|
+
}
|
|
877
|
+
newItems.push({
|
|
878
|
+
itemType: "note",
|
|
879
|
+
parentItem: newItem.key,
|
|
880
|
+
note: note.toString()
|
|
881
|
+
});
|
|
882
|
+
}
|
|
883
|
+
} else if((fieldID = Zotero.ItemFields.getID(field))) {
|
|
884
|
+
// if content is not a string, either stringify it or delete it
|
|
885
|
+
if(typeof val !== "string") {
|
|
886
|
+
if(val || val === 0) {
|
|
887
|
+
val = val.toString();
|
|
888
|
+
} else {
|
|
889
|
+
continue;
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
|
|
893
|
+
// map from base field if possible
|
|
894
|
+
if((itemFieldID = Zotero.ItemFields.getFieldIDFromTypeAndBase(typeID, fieldID))) {
|
|
895
|
+
let fieldName = Zotero.ItemFields.getName(itemFieldID);
|
|
896
|
+
// Only map if item field does not exist
|
|
897
|
+
if(fieldName !== field && !newItem[fieldName]) newItem[fieldName] = val;
|
|
898
|
+
continue; // already know this is valid
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
// if field is valid for this type, set field
|
|
902
|
+
if(Zotero.ItemFields.isValidForType(fieldID, typeID)) {
|
|
903
|
+
// Convert access date placeholder to current time
|
|
904
|
+
if (fieldID == accessDateFieldID && val == "CURRENT_TIMESTAMP") {
|
|
905
|
+
val = Zotero.Date.dateToISO(new Date());
|
|
906
|
+
}
|
|
907
|
+
|
|
908
|
+
newItem[field] = val;
|
|
909
|
+
} else {
|
|
910
|
+
Zotero.debug(`itemToAPIJSON: Discarded field ${field}: `
|
|
911
|
+
+ `field not valid for type ${item.itemType}`, 3);
|
|
912
|
+
}
|
|
913
|
+
} else {
|
|
914
|
+
Zotero.debug(`itemToAPIJSON: Discarded unknown field ${field}`, 3);
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
return newItems;
|
|
919
|
+
},
|
|
920
|
+
|
|
921
|
+
/**
|
|
922
|
+
* Converts a current Zotero Item to a format that export translators written for Zotero versions pre-4.0.26
|
|
923
|
+
* See https://github.com/zotero/translation-server/issues/73
|
|
924
|
+
* @param {Object} item
|
|
925
|
+
* @returns {Object}
|
|
926
|
+
*/
|
|
927
|
+
itemToLegacyExportFormat: function(item) {
|
|
928
|
+
item.uniqueFields = {};
|
|
929
|
+
|
|
930
|
+
// Map base fields
|
|
931
|
+
for (let field in item) {
|
|
932
|
+
try {
|
|
933
|
+
var baseField = Zotero.ItemFields.getName(
|
|
934
|
+
Zotero.ItemFields.getBaseIDFromTypeAndField(item.itemType, field)
|
|
935
|
+
);
|
|
936
|
+
} catch (e) {
|
|
937
|
+
continue;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
if (!baseField || baseField == field) {
|
|
941
|
+
item.uniqueFields[field] = item[field];
|
|
942
|
+
} else {
|
|
943
|
+
item[baseField] = item[field];
|
|
944
|
+
item.uniqueFields[baseField] = item[field];
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
// Meaningless local item ID, but some older export translators depend on it
|
|
949
|
+
item.itemID = Zotero.Utilities.randomString(6);
|
|
950
|
+
item.key = Zotero.Utilities.randomString(6); // CSV translator exports this
|
|
951
|
+
|
|
952
|
+
// "version" is expected to be a field for "computerProgram", which is now
|
|
953
|
+
// called "versionNumber"
|
|
954
|
+
delete item.version;
|
|
955
|
+
if (item.versionNumber) {
|
|
956
|
+
item.version = item.uniqueFields.version = item.versionNumber;
|
|
957
|
+
delete item.versionNumber;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
// Creators
|
|
961
|
+
if (item.creators) {
|
|
962
|
+
for (let i=0; i<item.creators.length; i++) {
|
|
963
|
+
let creator = item.creators[i];
|
|
964
|
+
|
|
965
|
+
if (creator.name) {
|
|
966
|
+
creator.fieldMode = 1;
|
|
967
|
+
creator.lastName = creator.name;
|
|
968
|
+
delete creator.name;
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
// Old format used to supply creatorID (the database ID), but no
|
|
972
|
+
// translator ever used it
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
else {
|
|
976
|
+
item.creators = [];
|
|
977
|
+
}
|
|
978
|
+
|
|
979
|
+
item.sourceItemKey = item.parentItem;
|
|
980
|
+
|
|
981
|
+
// Tags
|
|
982
|
+
if (item.tags) {
|
|
983
|
+
for (let i = 0; i < item.tags.length; i++) {
|
|
984
|
+
if (!item.tags[i].type) {
|
|
985
|
+
item.tags[i].type = 0;
|
|
986
|
+
}
|
|
987
|
+
// No translator ever used "primary", "fields", or "linkedItems" objects
|
|
988
|
+
}
|
|
989
|
+
}
|
|
990
|
+
else {
|
|
991
|
+
item.tags = [];
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
// seeAlso was always present, but it was always an empty array.
|
|
995
|
+
// Zotero RDF translator pretended to use it
|
|
996
|
+
item.seeAlso = [];
|
|
997
|
+
|
|
998
|
+
if (item.contentType) {
|
|
999
|
+
item.mimeType = item.uniqueFields.mimeType = item.contentType;
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
if (item.note) {
|
|
1003
|
+
item.uniqueFields.note = item.note;
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
return item;
|
|
1007
|
+
},
|
|
1008
|
+
|
|
1009
|
+
/**
|
|
1010
|
+
* Compare two call numbers. Handles Dewey and LC specially,
|
|
1011
|
+
* compares numbers as numbers, uses string comparison for everything else.
|
|
1012
|
+
*
|
|
1013
|
+
* @param {String} fieldA
|
|
1014
|
+
* @param {String} fieldB
|
|
1015
|
+
* @returns {Number} Negative if A < B, 0 if A == B, positive if A > B
|
|
1016
|
+
*/
|
|
1017
|
+
compareCallNumbers: function (fieldA, fieldB) {
|
|
1018
|
+
function compareStringArrays(a, b) {
|
|
1019
|
+
let i;
|
|
1020
|
+
for (i = 0; i < a.length && i < b.length; i++) {
|
|
1021
|
+
if (a[i] < b[i]) {
|
|
1022
|
+
return -1;
|
|
1023
|
+
}
|
|
1024
|
+
else if (a[i] > b[i]) {
|
|
1025
|
+
return 1;
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
return (i < a.length) ? 1 : (i < b.length) ? -1 : 0;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
let onlyNumbersRe = /^\d*$/;
|
|
1032
|
+
let deweyRe = /^(\d{3})(?:\.(\d+))?(?:\/([a-zA-Z]{3}))?$/;
|
|
1033
|
+
let lcWithClassificationRe = /^[a-zA-Z]{1,3}\d+($|(?=\s*(.|\s\d)))/;
|
|
1034
|
+
|
|
1035
|
+
if (onlyNumbersRe.test(fieldA) && onlyNumbersRe.test(fieldB)) {
|
|
1036
|
+
return parseInt(fieldA) - parseInt(fieldB);
|
|
1037
|
+
}
|
|
1038
|
+
|
|
1039
|
+
let splitA = fieldA.toLowerCase().replace(/\s/g, '').match(deweyRe);
|
|
1040
|
+
let splitB = fieldB.toLowerCase().replace(/\s/g, '').match(deweyRe);
|
|
1041
|
+
if (splitA && splitB) {
|
|
1042
|
+
// Looks like Dewey Decimal, so we'll compare by parts
|
|
1043
|
+
splitA.shift();
|
|
1044
|
+
splitB.shift();
|
|
1045
|
+
return compareStringArrays(splitA, splitB);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
let classificationA = fieldA.match(lcWithClassificationRe);
|
|
1049
|
+
let classificationB = fieldB.match(lcWithClassificationRe);
|
|
1050
|
+
if (classificationA && classificationB) {
|
|
1051
|
+
// Looks like a LC call number, so we'll first compare
|
|
1052
|
+
// by classification field using locale collation
|
|
1053
|
+
let classificationComp = Zotero.localeCompare(
|
|
1054
|
+
classificationA[0].replace(/[\s.]/g, ''),
|
|
1055
|
+
classificationB[0].replace(/[\s.]/g, '')
|
|
1056
|
+
);
|
|
1057
|
+
|
|
1058
|
+
if (classificationComp == 0) {
|
|
1059
|
+
// If they match, we'll compare the rest using
|
|
1060
|
+
// basic string comparison
|
|
1061
|
+
fieldA = fieldA.substring(classificationA[0].length).replace(/[\s.]+/g, ' ');
|
|
1062
|
+
fieldB = fieldB.substring(classificationB[0].length).replace(/[\s.]+/g, ' ');
|
|
1063
|
+
return compareStringArrays(fieldA.split(' '), fieldB.split(' '));
|
|
1064
|
+
}
|
|
1065
|
+
else {
|
|
1066
|
+
return classificationComp;
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
|
|
1070
|
+
return Zotero.localeCompare(fieldA, fieldB);
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
if (typeof module != 'undefined') {
|
|
1075
|
+
module.exports = Utilities_Item;
|
|
1076
|
+
} else if (typeof Zotero != 'undefined' && typeof Zotero.Utilities != 'undefined') {
|
|
1077
|
+
Zotero.Utilities.Item = Utilities_Item;
|
|
1078
|
+
} else {
|
|
1079
|
+
console.log('Could not find a way to expose utilities_item.js. Check your load order.')
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
})();
|