跳至主要內容

插件开发指南

windingwind...大约 2 分钟

插件开发指南

提示

待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。

本文档所述内容仅适用于 Zotero 7 插件开发,Zotero 6 插件开发文档请参阅 Zotero 6 插件开发文档open in new window

前置基础知识

Zotero 插件遵循 Firefox 插件的要求。此处列举了编写插件的基础知识。并非所有知识都需要掌握,只需要在遇到问题时能通过查阅文档找到解决方法即可。

Firefox 插件

Introduction: Welcome to Software Development the Mozilla Wayopen in new window

Web 浏览器扩展open in new window

HTML / XUL

关于 HTML,可参考网上的任意教程,只需理解基本的树结构,大致清楚元素类型与通用属性即可。
参考文档:HTML 教程 | 菜鸟教程open in new window
关于 XUL,在了解 HTML 的基础上只需大概浏览文档即可。在使用时可随时查阅文档。
参考文档:Huihoo - XML User Interface Language (XUL)open in new windowXUL School Tutorial - Archive of obsolete contentopen in new window

JavaScript / TypeScript

如果对其他编程语言有了解,上手 JavaScript 很快,看一下基本语法即可。
参考文档:JavaScript 教程open in new window

(非必需)也可以直接学习 TypeScript,它是 JS 的超集,提供了更多特性,并对习惯于 C++/JAVA 等强类型语言的开发者而言更加熟悉。第二章将要介绍的的 Zotero 插件框架支持 TS。
参考文档:TypeScript 中文网 · TypeScript——JavaScript 的超集open in new window

Git

Git 是版本管理的常用工具。
参考文档:Git 教程 | 菜鸟教程open in new window

Zotero 官方资料

Zoero 文档(部分过时或不全):start [Zotero Documentation]open in new window
Zotero 社区:Recent Discussionsopen in new window
Zotero 贡献文档:Zotero | Get Involvedopen in new window
Zotero 开发者群组:https://groups.google.com/g/zotero-devopen in new window
社区维护的 Zotero Types 接口类型定义包:windingwind / Zotero-typesopen in new window Zotero-typesopen in new window

本文档的结构

todo