This package contains type definitions for Zotero (https://www.zotero.org/) plugin.
npm package: https://www.npmjs.com/package/zotero-types
-
Run
npm install --save-dev zotero-types
. -
No need to import the type declaration in your TypeScript code. If your IDE does not recognize the definitions, add the path to typing file in the include of
tsconfig.json
:
// tsconfig.json
{
"include": ["src", "typing", "node_modules/zotero-types"]
}
Example:
// Example 1: get Zotero.Item by id
const item = Zotero.Items.get(1234);
// Example 2: use XUL.Element type with specific properties
const exportFiles = document.querySelector(
"#menu_export_files"
) as XUL.Menuitem;
exportFiles.disabled = true;
// Example 3: use platform APIs (OS)
const filepath = "/path/to/file";
if (await OS.File.exists(filepath)) {
let contentRaw = (await OS.File.read(filepath, {
encoding: "utf-8",
})) as string;
}
This type definition only contains frequently used typings and is not complete. Please check the source code of Zotero here: https://github.com/zotero/zotero.
The d.ts
files of Zotero are set accordingly to their corresponding file in the Zotero repository.
Planning to merge to https://github.com/DefinitelyTyped/DefinitelyTyped/
To release this to the npm package, use npm run release
.
Use this code under MIT License. No warranties are provided. Keep the laws of your locality in mind!
If you want to change the license, please contact me at wyzlshx@foxmail.com
Part of the code of this repo refers to other open-source projects within the allowed scope.
- zotero-better-bibtex(
d.ts
)
- zotero-better-notes: Everything about note management. All in Zotero.
- zotero-pdf-preview: PDF Preview for Zotero.
- zotero-pdf-translate: PDF Translation for Zotero 6.
- zotero-tag: Automatically tag items/Batch tagging
- zotero-theme: Customize Zotero theme