Hi everyone,
I'm the author of these plugins: PDF Translate, Better Notes, PDF Preview, and Zotero Tag.
I introduce two repos to those who want to create their own plugin and developers that would definitely be helpful:
- The Zotero Plugin Template/Framework:
https://github.com/windingwind/zotero-addon-template- The NPM package of TypeScript definition d.ts for Zotero:
https://github.com/windingwind/zotero-types (npm page:
https://www.npmjs.com/package/zotero-types). You can also use it as a handbook of Zotero API.
As a Zotero plugin developer, I've been using TypeScript(TS ) in my several plugins for a long time. TS is more advanced than JS, making it easier to maintain the plugins using auto-complete and type-checking and preventing possible type bugs.
I've witnessed many Zotero users who want to create a plugin to customize their Zotero. However, to the best of my knowledge, there are NO Zotero plugin frameworks using TS for beginners and the official documentation is out-of-date.
I've also witnessed many Zotero plugin owners spending a lot of time debugging tons of JavaScript code, without auto-complete and type-checking. Using TS could be a solution, but most developers are not familiar with TS and do not know how to.
If you want to start coding your own Zotero plugin, I recommend you to start with the Zotero Plugin Template and you can run the Hello World demo in 5 minutes if you are familiar with any programming language.
If you are a Zotero plugin maintainer or owner, I strongly recommend you migrate to TS with this typing package!
I and two other authors write a documentation about how to create your Zotero plugin(in Chinese):
https://zotero-chinese.feishu.cn/wiki/wikcn2498hSjibbd4vDRre5pPmQ*The typing package is not complete or fully correct yet. I test it in my plugins. If you find any declaration missing or incorrect, please post an issue or pr on Github.