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,96 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const BBPromise = require( 'bluebird' );
|
|
4
|
+
const fs = BBPromise.promisifyAll( require( 'fs' ) );
|
|
5
|
+
const os = require( 'os' );
|
|
6
|
+
const path = require( 'path' );
|
|
7
|
+
|
|
8
|
+
class OutgoingRequestThrottle {
|
|
9
|
+
constructor( options = {} ) {
|
|
10
|
+
this.enabled = options.enabled !== false;
|
|
11
|
+
this.delayMs = Number.parseInt( options.delayMs, 10 ) || 1000;
|
|
12
|
+
this.skipHosts = new Set( options.skipHosts || [ 'localhost', '127.0.0.1', '::1' ] );
|
|
13
|
+
this._queue = BBPromise.resolve();
|
|
14
|
+
this.stateFile = options.stateFile ||
|
|
15
|
+
path.join( os.tmpdir(), 'citoid-outgoing-request-throttle-state.json' );
|
|
16
|
+
this.lockDir = options.lockDir ||
|
|
17
|
+
path.join( os.tmpdir(), 'citoid-outgoing-request-throttle.lock' );
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
shouldThrottle( uri ) {
|
|
21
|
+
if ( !this.enabled || !uri ) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
try {
|
|
26
|
+
const hostname = new URL( uri ).hostname;
|
|
27
|
+
return !this.skipHosts.has( hostname );
|
|
28
|
+
} catch ( e ) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
schedule( uri, callback ) {
|
|
34
|
+
if ( !this.shouldThrottle( uri ) ) {
|
|
35
|
+
return BBPromise.try( callback );
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
const scheduled = this._queue.then(
|
|
39
|
+
() => this.reserveSlot()
|
|
40
|
+
.then( ( waitMs ) => BBPromise.delay( waitMs ).then( callback ) )
|
|
41
|
+
);
|
|
42
|
+
this._queue = scheduled.reflect();
|
|
43
|
+
return scheduled;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
acquireLock() {
|
|
47
|
+
return fs.mkdirAsync( this.lockDir )
|
|
48
|
+
.catch( ( error ) => {
|
|
49
|
+
if ( error && error.code === 'EEXIST' ) {
|
|
50
|
+
return BBPromise.delay( 10 ).then( () => this.acquireLock() );
|
|
51
|
+
}
|
|
52
|
+
throw error;
|
|
53
|
+
} );
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
releaseLock() {
|
|
57
|
+
return fs.rmdirAsync( this.lockDir )
|
|
58
|
+
.catch( ( error ) => {
|
|
59
|
+
if ( error && error.code === 'ENOENT' ) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
throw error;
|
|
63
|
+
} );
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
readState() {
|
|
67
|
+
return fs.readFileAsync( this.stateFile, 'utf8' )
|
|
68
|
+
.then( ( raw ) => JSON.parse( raw ) )
|
|
69
|
+
.catch( ( error ) => {
|
|
70
|
+
if ( error && ( error.code === 'ENOENT' || error instanceof SyntaxError ) ) {
|
|
71
|
+
return { nextAllowedAt: 0 };
|
|
72
|
+
}
|
|
73
|
+
throw error;
|
|
74
|
+
} );
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
writeState( state ) {
|
|
78
|
+
return fs.writeFileAsync( this.stateFile, JSON.stringify( state ) );
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
reserveSlot() {
|
|
82
|
+
return this.acquireLock()
|
|
83
|
+
.then( () => this.readState()
|
|
84
|
+
.then( ( state ) => {
|
|
85
|
+
const now = Date.now();
|
|
86
|
+
const nextAllowedAt = Number.parseInt( state.nextAllowedAt, 10 ) || 0;
|
|
87
|
+
const scheduledAt = Math.max( now, nextAllowedAt );
|
|
88
|
+
const waitMs = scheduledAt - now + this.delayMs;
|
|
89
|
+
return this.writeState( { nextAllowedAt: scheduledAt + this.delayMs } )
|
|
90
|
+
.then( () => waitMs );
|
|
91
|
+
} )
|
|
92
|
+
.finally( () => this.releaseLock() ) );
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
module.exports = OutgoingRequestThrottle;
|
package/lib/Scraper.js
ADDED
|
@@ -0,0 +1,617 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Request and translate HTML
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/* Dependencies */
|
|
8
|
+
const BBPromise = require( 'bluebird' );
|
|
9
|
+
const cheerio = require( 'cheerio' );
|
|
10
|
+
const contentType = require( 'content-type' );
|
|
11
|
+
const iconv = require( 'iconv-lite' );
|
|
12
|
+
const parseAll = require( 'html-metadata' ).parseAll;
|
|
13
|
+
|
|
14
|
+
/* Local Dependencies */
|
|
15
|
+
const CitoidError = require( './CitoidError.js' );
|
|
16
|
+
const CrossRefService = require( './external-apis/CrossRefService.js' );
|
|
17
|
+
|
|
18
|
+
/* Translators */
|
|
19
|
+
const cRef = require( './translators/crossRef.js' );
|
|
20
|
+
const bp = require( './translators/bePress.js' );
|
|
21
|
+
const dc = require( './translators/dublinCore.js' );
|
|
22
|
+
const gen = require( './translators/general.js' );
|
|
23
|
+
const og = require( './translators/openGraph.js' );
|
|
24
|
+
|
|
25
|
+
/* Globals */
|
|
26
|
+
let defaultTranslator;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Get content type from response header with metatags as fall back
|
|
30
|
+
* in a response object with Buffer body
|
|
31
|
+
*
|
|
32
|
+
* @param {Object} response response object with Buffer body
|
|
33
|
+
* @return {?string} Content-type string or null
|
|
34
|
+
*/
|
|
35
|
+
function contentTypeFromResponse( response ) {
|
|
36
|
+
|
|
37
|
+
// Try to get content-type from header
|
|
38
|
+
try {
|
|
39
|
+
const obj = contentType.parse( response );// Parsed content-type header
|
|
40
|
+
if ( obj.parameters && obj.parameters.charset ) {
|
|
41
|
+
return obj.parameters.charset;
|
|
42
|
+
}
|
|
43
|
+
} catch ( e ) {} // Throws a TypeError if the Content-Type header is missing or invalid.
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Get content type from the metadata tags in a response
|
|
49
|
+
* object with cheerio loaded body with default encoding
|
|
50
|
+
*
|
|
51
|
+
* @param {Object} chtml Cheerio object
|
|
52
|
+
* @return {string} Content-type string or null
|
|
53
|
+
*/
|
|
54
|
+
function contentTypeFromBody( chtml ) {
|
|
55
|
+
// TODO: Stream and read buffer with regex
|
|
56
|
+
// i.e. <meta charset="iso-8859-1" />
|
|
57
|
+
const charset = chtml( 'meta[charset]' ).first().attr( 'charset' );
|
|
58
|
+
if ( charset ) {
|
|
59
|
+
return charset;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Case insensitive since content-type may appear as Content-Type or Content-type
|
|
63
|
+
let contentTypeHeader = chtml( 'meta[http-equiv]' ).filter( function () {
|
|
64
|
+
return ( /content-type/i ).test( chtml( this ).attr( 'http-equiv' ) );
|
|
65
|
+
} );
|
|
66
|
+
if ( contentTypeHeader ) {
|
|
67
|
+
// <meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
|
|
68
|
+
contentTypeHeader = contentTypeHeader.first().attr( 'content' );
|
|
69
|
+
} else {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if ( contentTypeHeader ) {
|
|
74
|
+
try {
|
|
75
|
+
const obj = contentType.parse( contentTypeHeader );// Parsed content-type header
|
|
76
|
+
if ( obj.parameters && obj.parameters.charset ) {
|
|
77
|
+
return obj.parameters.charset;
|
|
78
|
+
}
|
|
79
|
+
} catch ( e ) { // Throws a TypeError if the Content-Type header is missing or invalid.
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Create initial citation from empty citationObj
|
|
89
|
+
*
|
|
90
|
+
* @param {Citation} citationObj Citation object
|
|
91
|
+
* @param {Object} cr CitoidRequest object
|
|
92
|
+
* @return {Object} Pointer to citation in cr
|
|
93
|
+
*/
|
|
94
|
+
function citationFromCR( citationObj, cr ) {
|
|
95
|
+
// Wipe any previous citation in case a partial citation elsewhere has been created
|
|
96
|
+
const content = citationObj.content;
|
|
97
|
+
|
|
98
|
+
if ( !citationObj.archiveUrl ) {
|
|
99
|
+
content.url = citationObj.resolvedUrl || citationObj.url; // Use resolved url
|
|
100
|
+
} else {
|
|
101
|
+
content.url = citationObj.url; // Unless it's an archive.org url
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// This itemType will be overwritten if a crossRef request is successful later on
|
|
105
|
+
// todo:remove cr.
|
|
106
|
+
if ( cr.doi || cr.idType === 'pmid' || cr.idType === 'pmcid' ||
|
|
107
|
+
content.doi || content.idType === 'pmid' || content.idType === 'pmcid' ) {
|
|
108
|
+
content.itemType = 'journalArticle';
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return BBPromise.resolve( content );
|
|
112
|
+
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
// Highwire and bepress metadata itemType determination-
|
|
116
|
+
// Partially copied from Zotero translators http://github.com/zotero/translators
|
|
117
|
+
function itemTypeFromPress( metadataBlock ) {
|
|
118
|
+
let i;
|
|
119
|
+
const keys = Object.keys( metadataBlock );
|
|
120
|
+
for ( i = 0; i < keys.length; i++ ) {
|
|
121
|
+
switch ( keys[ i ] ) {
|
|
122
|
+
case 'journal_title':
|
|
123
|
+
return 'journalArticle';
|
|
124
|
+
case 'technical_report_institution':
|
|
125
|
+
return 'report';
|
|
126
|
+
case 'conference_title':
|
|
127
|
+
case 'conference':
|
|
128
|
+
return 'conferencePaper';
|
|
129
|
+
case 'book_title':
|
|
130
|
+
return 'bookSection';
|
|
131
|
+
case 'dissertation_institution':
|
|
132
|
+
return 'thesis';
|
|
133
|
+
case 'title': // fall back to journalArticle, since this is quite common
|
|
134
|
+
case 'series_title': // possibly journal article, though it could be book
|
|
135
|
+
return 'journalArticle';
|
|
136
|
+
case 'citation_isbn':
|
|
137
|
+
// Unlikely, but other item types may have ISBNs as well (e.g. Reports?)
|
|
138
|
+
return 'book';
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return 'journalArticle';
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Generate type for citation from metaData - currently uses OpenGraph only
|
|
146
|
+
*
|
|
147
|
+
* @param {Object} metadata objectGraph metadata obtained from html-metadata
|
|
148
|
+
* @param {Object} citation citation object
|
|
149
|
+
* @return {Object} citation object
|
|
150
|
+
*/
|
|
151
|
+
function addItemType( metadata, citation ) {
|
|
152
|
+
citation = citation || {};
|
|
153
|
+
metadata = metadata || {};
|
|
154
|
+
// Set citation type from metadata
|
|
155
|
+
if ( !citation.itemType ) { // Don't overwrite itemtype
|
|
156
|
+
if ( metadata.bePress ) {
|
|
157
|
+
citation.itemType = itemTypeFromPress( metadata.bePress );
|
|
158
|
+
} else if ( metadata.highwirePress ) {
|
|
159
|
+
citation.itemType = itemTypeFromPress( metadata.highwirePress );
|
|
160
|
+
} else if ( metadata.openGraph && metadata.openGraph.type &&
|
|
161
|
+
og.types[ metadata.openGraph.type ] ) {
|
|
162
|
+
// if there is a type in the results and that type is defined in openGraph.js
|
|
163
|
+
citation.itemType = og.types[ metadata.openGraph.type ];
|
|
164
|
+
} else if ( metadata.dublinCore && metadata.dublinCore.type &&
|
|
165
|
+
dc.types[ metadata.dublinCore.type ] ) {
|
|
166
|
+
// if there is a type in the results and that type is defined in dublinCore.js
|
|
167
|
+
citation.itemType = dc.types[ metadata.dublinCore.type ];
|
|
168
|
+
} else {
|
|
169
|
+
citation.itemType = 'webpage'; // default itemType
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return citation;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Gets title in other ways if not metadata is available
|
|
177
|
+
*
|
|
178
|
+
* @param {string} url url
|
|
179
|
+
* @param {Object} chtml Cheerio object with html loaded
|
|
180
|
+
* @return {string} best title available for citation
|
|
181
|
+
*/
|
|
182
|
+
function getTitle( url, chtml ) {
|
|
183
|
+
|
|
184
|
+
// Try to get title from itemprop="heading" // Schema.org microdata
|
|
185
|
+
return chtml( '*[itemprop~="headline"]' ).first().text() || url;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Fallback methods for if metadata from html-metadata library can't be obtained
|
|
190
|
+
*
|
|
191
|
+
* @param {Object} content citation content
|
|
192
|
+
* @param {string} url user requested url
|
|
193
|
+
* @param {Object} chtml cheerio html object
|
|
194
|
+
* @return {Object} citaiton object
|
|
195
|
+
*/
|
|
196
|
+
function fallback( content, url, chtml ) {
|
|
197
|
+
let parsedUrl;
|
|
198
|
+
|
|
199
|
+
// Required fields: title, itemType
|
|
200
|
+
|
|
201
|
+
// itemType
|
|
202
|
+
if ( !content.itemType ) {
|
|
203
|
+
content.itemType = 'webpage';
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Title
|
|
207
|
+
if ( !content.title ) {
|
|
208
|
+
content.title = getTitle( url, chtml );
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// URL
|
|
212
|
+
if ( !content.url ) {
|
|
213
|
+
content.url = url;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// Access date - universal - format YYYY-MM-DD
|
|
217
|
+
content.accessDate = ( new Date() ).toISOString().split( 'T' ).shift();
|
|
218
|
+
|
|
219
|
+
// Fall back websiteTitle - webpage only
|
|
220
|
+
if ( content.itemType === 'webpage' && !content.websiteTitle ) {
|
|
221
|
+
parsedUrl = new URL( url );
|
|
222
|
+
if ( content.title && parsedUrl && parsedUrl.hostname ) {
|
|
223
|
+
content.websiteTitle = parsedUrl.hostname;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
return content;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Returns citation object with html metadata for identifiers
|
|
232
|
+
* added to citation object - used by parseHTML fcn inside class Scraper
|
|
233
|
+
*
|
|
234
|
+
* @param {Citation} citationObj the citation object
|
|
235
|
+
* @param {Object} metadata metadata from html-metadata's parseAll function
|
|
236
|
+
* @param {Object} logger logger instance
|
|
237
|
+
* @return {Citation} the citation object with IDs added
|
|
238
|
+
*/
|
|
239
|
+
function matchIDs( citationObj, metadata, logger ) {
|
|
240
|
+
logger.log( 'trace/scraper', 'Adding identifiers from metadata' );
|
|
241
|
+
|
|
242
|
+
// Try to get DOI from metadata before doing crossRef request
|
|
243
|
+
if ( !citationObj.doi ) {
|
|
244
|
+
// eslint-disable-next-line security/detect-unsafe-regex
|
|
245
|
+
const reDOI = /\b10\.[0-9]{3,5}\/(?:[^\\s]+)*/;
|
|
246
|
+
// TODO: add eprints.id_number
|
|
247
|
+
try {
|
|
248
|
+
if ( metadata.dublinCore && metadata.dublinCore.identifier ) {
|
|
249
|
+
if ( typeof metadata.dublinCore.identifier === 'string' &&
|
|
250
|
+
reDOI.test( metadata.dublinCore.identifier )
|
|
251
|
+
) {
|
|
252
|
+
citationObj.doi = metadata.dublinCore.identifier.match( reDOI )[ 0 ];
|
|
253
|
+
} else if ( Array.isArray( metadata.dublinCore.identifier ) ) {
|
|
254
|
+
for ( let i = 0; i < metadata.dublinCore.identifier.length; i++ ) {
|
|
255
|
+
if ( !citationObj.doi &&
|
|
256
|
+
typeof metadata.dublinCore.identifier[ i ] === 'string' &&
|
|
257
|
+
reDOI.test( metadata.dublinCore.identifier[ i ] )
|
|
258
|
+
) {
|
|
259
|
+
citationObj.doi = metadata.dublinCore.identifier[ i ]
|
|
260
|
+
.match( reDOI )[ 0 ];
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
} else if ( !citationObj.doi && metadata.highwirePress && metadata.highwirePress.doi ) {
|
|
265
|
+
if ( typeof metadata.highwirePress.doi === 'string' &&
|
|
266
|
+
reDOI.test( metadata.highwirePress.doi )
|
|
267
|
+
) {
|
|
268
|
+
citationObj.doi = metadata.highwirePress.doi.match( reDOI )[ 0 ];
|
|
269
|
+
} else if ( Array.isArray( metadata.highwirePress.doi ) ) {
|
|
270
|
+
for ( let i = 0; i < metadata.highwirePress.doi.length; i++ ) {
|
|
271
|
+
if ( !citationObj.doi && typeof metadata.highwirePress.doi[ i ] === 'string' &&
|
|
272
|
+
reDOI.test( metadata.highwirePress.doi[ i ] )
|
|
273
|
+
) {
|
|
274
|
+
citationObj.doi = metadata.highwirePress.doi[ i ].match( reDOI )[ 0 ];
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
} else if ( !citationObj.doi && metadata.bePress && metadata.bePress.doi ) {
|
|
279
|
+
if ( typeof metadata.bePress.doi === 'string' &&
|
|
280
|
+
reDOI.test( metadata.bePress.doi )
|
|
281
|
+
) {
|
|
282
|
+
citationObj.doi = metadata.bePress.doi.match( reDOI )[ 0 ];
|
|
283
|
+
} else if ( Array.isArray( metadata.bePress.doi ) ) {
|
|
284
|
+
for ( let i = 0; i < metadata.bePress.doi.length; i++ ) {
|
|
285
|
+
if ( !citationObj.doi && typeof metadata.bePress.doi[ i ] === 'string' &&
|
|
286
|
+
reDOI.test( metadata.bePress.doi[ i ] )
|
|
287
|
+
) {
|
|
288
|
+
citationObj.doi = metadata.bePress.doi[ i ].match( reDOI )[ 0 ];
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
} catch ( e ) {
|
|
294
|
+
logger.log( 'debug/scraper', { msg: 'id match failure', reason: `${ e }` } );
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return citationObj;
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
class Scraper {
|
|
301
|
+
|
|
302
|
+
constructor( app, translator, exporter ) {
|
|
303
|
+
|
|
304
|
+
this.exporter = exporter;
|
|
305
|
+
this.translator = translator;
|
|
306
|
+
|
|
307
|
+
this.userAgent = app.conf.userAgent;
|
|
308
|
+
this.conf = app.conf;
|
|
309
|
+
this.crossRefService = new CrossRefService( app );
|
|
310
|
+
|
|
311
|
+
defaultTranslator = this.translator;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Promise that always returns a citoidRequest object,
|
|
316
|
+
* with a citation and a response code added to the citationObj
|
|
317
|
+
* citoidResponse object
|
|
318
|
+
*
|
|
319
|
+
* @param {Citation} inputCitation Citation object
|
|
320
|
+
* @param {Object} cr CitationRquest object
|
|
321
|
+
* @param {string?} uri Optional uri for when it differs i.e. wayback archive urls
|
|
322
|
+
* @return {Object} modified CitoidRequest object
|
|
323
|
+
*/
|
|
324
|
+
scrape( inputCitation, cr, uri ) {
|
|
325
|
+
const citationObj = inputCitation;
|
|
326
|
+
let chtml;
|
|
327
|
+
const logger = cr.logger;
|
|
328
|
+
const url = uri || citationObj.resolvedUrl;
|
|
329
|
+
|
|
330
|
+
// Ensures scraper won't be run if unshorten isn't run first.
|
|
331
|
+
if ( !url ) {
|
|
332
|
+
const msg = 'No resolved URL found in citation object';
|
|
333
|
+
logger.log( 'debug/scraper', msg );
|
|
334
|
+
return citationFromCR( citationObj, cr ).then( this.build4xx );
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Check if archive.org url is a /primary/ url to enhance citations; seperate from fallback.
|
|
338
|
+
let archiveMatch = false;
|
|
339
|
+
if ( citationObj.resolvedUrl ) {
|
|
340
|
+
archiveMatch = citationObj.resolvedUrl.match(
|
|
341
|
+
// eslint-disable-next-line security/detect-unsafe-regex
|
|
342
|
+
/^(?:https?:\/\/)?web\.archive\.org\/web\/\d{1,14}\/(.+)$/
|
|
343
|
+
);
|
|
344
|
+
if ( archiveMatch ) {
|
|
345
|
+
citationObj.archiveUrl = url;
|
|
346
|
+
citationObj.url = archiveMatch[ 1 ]; // TODO: This is getting overwritten
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
const citationPromise = citationFromCR( citationObj, cr ); // Promise for citation
|
|
351
|
+
|
|
352
|
+
logger.log( 'debug/scraper', `Using native scraper on ${ url }` );
|
|
353
|
+
return cr.request.issueRequest( {
|
|
354
|
+
uri: url,
|
|
355
|
+
// For security reasons, we use unshorten to follow redirects
|
|
356
|
+
followRedirect: false,
|
|
357
|
+
// Set cookie jar for request
|
|
358
|
+
jar: cr.jar,
|
|
359
|
+
// returns page in Buffer object
|
|
360
|
+
encoding: null
|
|
361
|
+
} ).then( ( response ) => {
|
|
362
|
+
if ( !response || response.status !== 200 ) {
|
|
363
|
+
if ( !response ) {
|
|
364
|
+
logger.log( 'debug/scraper', `No response from resource server at ${ url }` );
|
|
365
|
+
} else {
|
|
366
|
+
logger.log( 'debug/scraper', `Status from resource server at ${ url
|
|
367
|
+
}: ${ response.status }` );
|
|
368
|
+
}
|
|
369
|
+
return citationPromise.then( ( citation ) => this.build4xx( citationObj, cr ) );
|
|
370
|
+
} else {
|
|
371
|
+
let str; // String from decoded Buffer object
|
|
372
|
+
const defaultCT = 'utf-8'; // Default content-type
|
|
373
|
+
let contentTypeInRes = contentTypeFromResponse( response );
|
|
374
|
+
|
|
375
|
+
// Load html into cheerio object; if necessary, determine
|
|
376
|
+
// content type from html loaded with default content-type, and
|
|
377
|
+
// then reload again if non-default content-type is obtained.
|
|
378
|
+
if ( contentTypeInRes ) {
|
|
379
|
+
// Content Type detected in response
|
|
380
|
+
try {
|
|
381
|
+
str = iconv.decode( response.body, contentTypeInRes );
|
|
382
|
+
chtml = cheerio.load( str );
|
|
383
|
+
} catch ( e ) {
|
|
384
|
+
logger.log( 'debug/scraper', e );
|
|
385
|
+
}
|
|
386
|
+
} else {
|
|
387
|
+
str = iconv.decode( response.body, defaultCT );
|
|
388
|
+
try {
|
|
389
|
+
chtml = cheerio.load( str );
|
|
390
|
+
contentTypeInRes = contentTypeFromBody( chtml );
|
|
391
|
+
// If contentType is scraped from body and is NOT the default
|
|
392
|
+
// CT already loaded, re-decode and reload into cheerio.
|
|
393
|
+
if ( contentTypeInRes && contentTypeInRes !== defaultCT ) {
|
|
394
|
+
try {
|
|
395
|
+
str = iconv.decode( response.body, contentTypeInRes );
|
|
396
|
+
chtml = cheerio.load( str );
|
|
397
|
+
} catch ( e ) {
|
|
398
|
+
// On failure, defaults to loaded body with default CT.
|
|
399
|
+
logger.log( 'debug/scraper', e );
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
} catch ( e ) {
|
|
403
|
+
logger.log( 'debug/scraper', e );
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// If the html has been successfully loaded into cheerio, proceed.
|
|
408
|
+
if ( chtml ) {
|
|
409
|
+
// Create initial citation, which returns citation
|
|
410
|
+
return citationPromise.then(
|
|
411
|
+
( citation ) => this.parseHTML( citationObj, cr, chtml ).then(
|
|
412
|
+
// Success handler for parseHTML
|
|
413
|
+
() => {
|
|
414
|
+
// If this is a success for an archived url, but not a primary one
|
|
415
|
+
if ( citationObj.archiveUrl && !archiveMatch &&
|
|
416
|
+
citationObj.error ) {
|
|
417
|
+
citationObj.source.unshift( 'Wayback Machine' );
|
|
418
|
+
logger.log( 'info/scraper', {
|
|
419
|
+
msg: `Scraped archived url at ${ url }`,
|
|
420
|
+
outgoingReqResult: {
|
|
421
|
+
error: citationObj.error.error,
|
|
422
|
+
uri: citationObj.url,
|
|
423
|
+
archive: citationObj.archiveUrl
|
|
424
|
+
}
|
|
425
|
+
} );
|
|
426
|
+
} else {
|
|
427
|
+
logger.log( 'info/scraper', {
|
|
428
|
+
msg: `Sucessfully scraped resource at ${ url }`,
|
|
429
|
+
outgoingReqResult: { status: 200, uri: url }
|
|
430
|
+
} );
|
|
431
|
+
}
|
|
432
|
+
// Clear any prior errors i.e. if wayback succeeds
|
|
433
|
+
citationObj.error = null;
|
|
434
|
+
citationObj.source.push( 'citoid' );
|
|
435
|
+
return cr;
|
|
436
|
+
},
|
|
437
|
+
// Rejection handler for parseHTML
|
|
438
|
+
( e ) => {
|
|
439
|
+
logger.log( 'debug/scraper', {
|
|
440
|
+
msg: `Failed to parse HTML of resource at ${ url }`,
|
|
441
|
+
error: `${ e }`
|
|
442
|
+
} );
|
|
443
|
+
return this.build4xx( citationObj, cr );
|
|
444
|
+
}
|
|
445
|
+
) );
|
|
446
|
+
} else {
|
|
447
|
+
logger.log( 'debug/scraper', `Failed to scrape resource at ${ url }` );
|
|
448
|
+
return citationPromise.then( ( citation ) => this.build4xx( citationObj, cr ) );
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
// Error handling for issueRequest
|
|
452
|
+
} ).catch( ( error ) => {
|
|
453
|
+
logger.log( 'debug/scraper', error );
|
|
454
|
+
return citationPromise.then( ( citation ) => this.build4xx( citationObj, cr ) );
|
|
455
|
+
} );
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Promise for citation object with html metadata added to default
|
|
460
|
+
* citation object
|
|
461
|
+
*
|
|
462
|
+
* @param {Object} citationObj the citation object
|
|
463
|
+
* @param {string} cr CitoidRequest object
|
|
464
|
+
* @param {Object} chtml Cheerio object with html loaded
|
|
465
|
+
* @return {Object} Bluebird promise for citation object
|
|
466
|
+
*/
|
|
467
|
+
parseHTML( citationObj, cr, chtml ) {
|
|
468
|
+
const logger = cr.logger;
|
|
469
|
+
let content = citationObj.content;
|
|
470
|
+
|
|
471
|
+
const addMetadata = ( metadata ) => {
|
|
472
|
+
logger.log( 'trace/scraper', 'Adding metadata using translators' );
|
|
473
|
+
|
|
474
|
+
content = addItemType( metadata, content );
|
|
475
|
+
|
|
476
|
+
// Use bePress.js translator for highwirePress metadata
|
|
477
|
+
content = this.translator.translate( content, metadata.highwirePress,
|
|
478
|
+
bp[ content.itemType ] );
|
|
479
|
+
|
|
480
|
+
// Use bePress.js translator for bepress metadata
|
|
481
|
+
content = this.translator.translate( content, metadata.bePress,
|
|
482
|
+
bp[ content.itemType ] );
|
|
483
|
+
|
|
484
|
+
// openGraph.js translator properties
|
|
485
|
+
content = this.translator.translate( content, metadata.openGraph,
|
|
486
|
+
og[ content.itemType ] );
|
|
487
|
+
|
|
488
|
+
// dublinCore.js translator properties
|
|
489
|
+
content = this.translator.translate( content, metadata.dublinCore,
|
|
490
|
+
dc[ content.itemType ] );
|
|
491
|
+
|
|
492
|
+
// general.js translator properties
|
|
493
|
+
content = this.translator.translate( content, metadata.general,
|
|
494
|
+
gen[ content.itemType ] );
|
|
495
|
+
|
|
496
|
+
// Fall back on direct scraping methods
|
|
497
|
+
content = fallback( content, content.url, chtml );
|
|
498
|
+
|
|
499
|
+
// DOI is only a valid field in Zotero for journalArticle and conferencePaper types
|
|
500
|
+
if ( citationObj.doi && ( content.itemType === 'journalArticle' ||
|
|
501
|
+
content.itemType === 'conferencePaper' ) ) {
|
|
502
|
+
content.DOI = citationObj.doi;
|
|
503
|
+
}
|
|
504
|
+
return BBPromise.resolve( content );
|
|
505
|
+
};
|
|
506
|
+
|
|
507
|
+
return parseAll( chtml )
|
|
508
|
+
.then( ( metadata ) => {
|
|
509
|
+
// Try to get DOI from metadata before doing crossRef request
|
|
510
|
+
|
|
511
|
+
citationObj = matchIDs( citationObj, metadata, logger );
|
|
512
|
+
return this.crossRef( citationObj, cr )
|
|
513
|
+
.then( ( citoidRequest ) => addMetadata( metadata ),
|
|
514
|
+
( e ) => {
|
|
515
|
+
logger.log( 'debug/scraper', { msg: 'crossRef failure', reason: `${ e }` } );
|
|
516
|
+
return addMetadata( metadata );
|
|
517
|
+
} );
|
|
518
|
+
},
|
|
519
|
+
// Rejection handler for parseAll
|
|
520
|
+
( e ) => {
|
|
521
|
+
logger.log( 'debug/scraper', { msg: 'ParseAll failure', reason: `${ e }` } );
|
|
522
|
+
return fallback( content );
|
|
523
|
+
} );
|
|
524
|
+
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Adds crossref REST API properties to content
|
|
529
|
+
*
|
|
530
|
+
* @param {Object} citationObj Citation instance
|
|
531
|
+
* @param {Object} cr CitoidRequest instance
|
|
532
|
+
* @return {Object} BBPromise for citation object
|
|
533
|
+
*/
|
|
534
|
+
crossRef( citationObj, cr ) {
|
|
535
|
+
let citation = citationObj.content;
|
|
536
|
+
const doi = citationObj.doi || cr.doi;
|
|
537
|
+
if ( !doi ) {
|
|
538
|
+
return BBPromise.reject( 'No DOI supplied' );
|
|
539
|
+
}
|
|
540
|
+
return this.crossRefService.doi( doi, cr.request ).then( ( metadata ) => {
|
|
541
|
+
// Set citation type from crossRef type
|
|
542
|
+
// This will *not* overwrite previously set itemType i.e. from citationFromCR
|
|
543
|
+
if ( metadata.type && cRef.types[ metadata.type ] ) {
|
|
544
|
+
citation.itemType = cRef.types[ metadata.type ];
|
|
545
|
+
} else {
|
|
546
|
+
citation.itemType = 'journalArticle'; // Default itemType
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
const typeTranslator = cRef[ citation.itemType ];
|
|
550
|
+
// If there are no appropriate translators, return.
|
|
551
|
+
if ( !typeTranslator ) {
|
|
552
|
+
return citation;
|
|
553
|
+
}
|
|
554
|
+
// Rely on crossRef to be the better source for creator names
|
|
555
|
+
delete citation.creators;
|
|
556
|
+
// The translator for crossRef merges creators
|
|
557
|
+
citation = defaultTranslator.translate( citation, metadata, typeTranslator );
|
|
558
|
+
citationObj.source.push( 'Crossref' );
|
|
559
|
+
return BBPromise.resolve( cr );
|
|
560
|
+
// Rejection handler
|
|
561
|
+
}, () => {
|
|
562
|
+
cr.logger.log( 'debug/scraper', 'Failed to get crossRef data' );
|
|
563
|
+
return BBPromise.reject( cr );
|
|
564
|
+
} );
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
/**
|
|
568
|
+
* Create 4xx citation- defaults to creates 200 if crossRef succeeds
|
|
569
|
+
*
|
|
570
|
+
* @param {Object} citationObj Citation object
|
|
571
|
+
* @param {Object} cr CitoidRequest object
|
|
572
|
+
* @return {Object} BBPromise for CitoidRequest object
|
|
573
|
+
*/
|
|
574
|
+
build4xx( citationObj, cr ) {
|
|
575
|
+
const url = citationObj.resolvedUrl || citationObj.url;
|
|
576
|
+
// Try to use DOI before returning 404
|
|
577
|
+
return this.crossRef( citationObj, cr ).then( ( citoidRequest ) => {
|
|
578
|
+
cr.logger.log( 'debug/scraper',
|
|
579
|
+
`Successfully got metadata from doi ${ citationObj.doi }` );
|
|
580
|
+
return BBPromise.resolve( citoidRequest );
|
|
581
|
+
// Rejection
|
|
582
|
+
}, ( e ) => {
|
|
583
|
+
cr.logger.log( 'debug/scraper', {
|
|
584
|
+
msg: `Unable to get any metadata from doi ${ citationObj.doi };
|
|
585
|
+
returning 404 response.`,
|
|
586
|
+
reason: `${ e }`
|
|
587
|
+
} );
|
|
588
|
+
|
|
589
|
+
// Use original url errors to fill error, if possible
|
|
590
|
+
if ( !citationObj.error ) {
|
|
591
|
+
if ( cr.request.outgoingRequestError ) {
|
|
592
|
+
citationObj.error = new CitoidError( cr.request.outgoingRequestError );
|
|
593
|
+
} else {
|
|
594
|
+
citationObj.error = new CitoidError( null, `Unable to get any metadata from url ${ url } for unknown reasons`, 404 );
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
cr.logger.log( 'warn/scraper', {
|
|
599
|
+
msg: `Unable to get any metadata from url ${ url };
|
|
600
|
+
returning 404 response.`,
|
|
601
|
+
outgoingReqResult: { error: citationObj.error.error, uri: url }
|
|
602
|
+
} );
|
|
603
|
+
|
|
604
|
+
return BBPromise.resolve( cr );
|
|
605
|
+
} );
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
module.exports = {
|
|
611
|
+
contentTypeFromResponse,
|
|
612
|
+
contentTypeFromBody,
|
|
613
|
+
itemTypeFromPress,
|
|
614
|
+
addItemType,
|
|
615
|
+
matchIDs,
|
|
616
|
+
Scraper
|
|
617
|
+
};
|