update: remove support to Zotero 6
This commit is contained in:
parent
389e7590e1
commit
a2697d1dfb
56
README.md
56
README.md
@ -28,8 +28,6 @@ This is a plugin template for [Zotero](https://www.zotero.org/). Plugins using t
|
|||||||
|
|
||||||
📌[Zotero Plugin Template](https://github.com/windingwind/zotero-plugin-template)(This repo)
|
📌[Zotero Plugin Template](https://github.com/windingwind/zotero-plugin-template)(This repo)
|
||||||
|
|
||||||
> 👍You are currently in `bootstrap` extension mode. To use `overlay` mode, please switch to `overlay` branch in git.
|
|
||||||
|
|
||||||
> 👁 Watch this repo so that you can be notified whenever there are fixes & updates.
|
> 👁 Watch this repo so that you can be notified whenever there are fixes & updates.
|
||||||
|
|
||||||
If you are using this repo, I recommended that you put this badge ([](https://github.com/windingwind/zotero-plugin-template)) on your README:
|
If you are using this repo, I recommended that you put this badge ([](https://github.com/windingwind/zotero-plugin-template)) on your README:
|
||||||
@ -40,7 +38,7 @@ If you are using this repo, I recommended that you put this badge ([);
|
- Automatically release to GitHub(using [release-it](https://github.com/release-it/release-it));
|
||||||
- Compatibilities for Zotero 6 & Zotero 7.(using [zotero-plugin-toolkit](https://github.com/windingwind/zotero-plugin-toolkit))
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
@ -180,7 +177,7 @@ npm run release
|
|||||||
|
|
||||||
1. Install a beta version of Zotero: https://www.zotero.org/support/beta_builds (Zotero 7 beta: https://www.zotero.org/support/dev/zotero_7_for_developers)
|
1. Install a beta version of Zotero: https://www.zotero.org/support/beta_builds (Zotero 7 beta: https://www.zotero.org/support/dev/zotero_7_for_developers)
|
||||||
|
|
||||||
2. Install Firefox 60(for Zotero 6)/Firefox 102(for Zotero 7)
|
2. Install Firefox 102(for Zotero 7)
|
||||||
|
|
||||||
3. Copy zotero command line config file. Modify the commands that starts your installation of the beta Zotero.
|
3. Copy zotero command line config file. Modify the commands that starts your installation of the beta Zotero.
|
||||||
|
|
||||||
@ -196,19 +193,15 @@ vim ./scripts/zotero-cmd.json
|
|||||||
|
|
||||||
5. Build plugin and restart Zotero with `npm run restart`.
|
5. Build plugin and restart Zotero with `npm run restart`.
|
||||||
|
|
||||||
6. Launch Firefox 60(Zotero 6)/Firefox 102(Zotero 7)
|
6. Launch Firefox 102(Zotero 7)
|
||||||
|
|
||||||
7. In Firefox, go to devtools, go to settings, click "enable remote debugging" and the one next to it that's also about debugging
|
7. In Firefox, go to devtools, go to settings, click "enable remote debugging" and the one next to it that's also about debugging
|
||||||
|
|
||||||
> Press `shift+F8` in FF 60, or enter `about:debugging#/setup` in FF 102.
|
> Enter `about:debugging#/setup` in FF 102.
|
||||||
|
|
||||||
8. In Zotero, go to setting, advanced, config editor, look up "debugging" and click on "allow remote debugging".
|
8. In Zotero, go to setting, advanced, config editor, look up "debugging" and click on "allow remote debugging".
|
||||||
|
|
||||||
9. Connect to Zotero in Firefox.
|
9. Connect to Zotero in Firefox. In FF 102, enter `localhost:6100` in the bottom input of remote-debugging page and click `add`.
|
||||||
|
|
||||||
> In FF 60, click the hamburger menu in the top right -> web developer -> Connect..., then enter `localhost:6100`.
|
|
||||||
|
|
||||||
> In FF 102, enter `localhost:6100` in the bottom input of remote-debugging page and click `add`.
|
|
||||||
|
|
||||||
10. Click `connect` in the leftside-bar of Firefox remote-debugging page.
|
10. Click `connect` in the leftside-bar of Firefox remote-debugging page.
|
||||||
|
|
||||||
@ -270,37 +263,6 @@ This template registers the following variables to the global scope:
|
|||||||
Zotero, ZoteroPane, Zotero_Tabs, window, document, rootURI, ztoolkit, addon;
|
Zotero, ZoteroPane, Zotero_Tabs, window, document, rootURI, ztoolkit, addon;
|
||||||
```
|
```
|
||||||
|
|
||||||
### About Preference
|
|
||||||
|
|
||||||
Zotero 6 doesn't support preference pane injection in bootstrap mode, thus I write a register for Zotero 6 or lower.
|
|
||||||
|
|
||||||
You only need to maintain one `preferences.xhtml` which runs natively on Zotero 7 and let the plugin template handle it when it is running on Zotero 6.
|
|
||||||
|
|
||||||
<table style="margin-left: auto; margin-right: auto;">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<img width="350px" src="https://user-images.githubusercontent.com/33902321/208080125-2a776a98-f427-4c81-8924-7877bf803e3d.png"/>
|
|
||||||
<div>Zotero 7</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<img width="300px" src="https://user-images.githubusercontent.com/33902321/208080491-b7006c08-2679-4f85-9a28-dba8e622d745.png"/>
|
|
||||||
<div>Zotero 6</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
https://github.com/windingwind/zotero-plugin-template/blob/08d72a4e2b3bacff574f537bbd06cb33e6b22480/src/modules/examples.ts#L73-L85
|
|
||||||
|
|
||||||
> `<preferences>` element is deprecated. Please use the full pref-key in the elements' `preference` attribute. Like:
|
|
||||||
|
|
||||||
```xml
|
|
||||||
<checkbox label="&zotero.__addonRef__.pref.enable.label;" preference="extensions.zotero.__addonRef__.enable" />
|
|
||||||
```
|
|
||||||
|
|
||||||
The elements with `preference` attributes will bind to Zotero preferences.
|
|
||||||
|
|
||||||
Remember to call `unregister()` on plugin unload.
|
|
||||||
|
|
||||||
### Create Elements API
|
### Create Elements API
|
||||||
|
|
||||||
The plugin template provides new APIs for bootstrap plugins. We have two reasons to use these APIs, instead of the `createElement/createElementNS`:
|
The plugin template provides new APIs for bootstrap plugins. We have two reasons to use these APIs, instead of the `createElement/createElementNS`:
|
||||||
@ -363,9 +325,7 @@ This section shows the directory structure of a template.
|
|||||||
├─.github # github conf
|
├─.github # github conf
|
||||||
│
|
│
|
||||||
├─addon # addon dir
|
├─addon # addon dir
|
||||||
│ │ chrome.manifest # for Zotero 6
|
│ │ manifest.json # addon config
|
||||||
│ │ manifest.json # for Zotero 7
|
|
||||||
│ │ install.rdf # addon install conf, for Zotero 6
|
|
||||||
│ │ bootstrap.js # addon load/unload script, like a main.c
|
│ │ bootstrap.js # addon load/unload script, like a main.c
|
||||||
│ │
|
│ │
|
||||||
│ └─chrome
|
│ └─chrome
|
||||||
@ -406,7 +366,3 @@ This section shows the directory structure of a template.
|
|||||||
Use this code under AGPL. No warranties are provided. Keep the laws of your locality in mind!
|
Use this code under AGPL. 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
|
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`)
|
|
||||||
|
2
addon/bootstrap.js
vendored
2
addon/bootstrap.js
vendored
@ -78,8 +78,6 @@ async function startup({ id, version, resourceURI, rootURI }, reason) {
|
|||||||
var manifestURI = Services.io.newURI(rootURI + "manifest.json");
|
var manifestURI = Services.io.newURI(rootURI + "manifest.json");
|
||||||
chromeHandle = aomStartup.registerChrome(manifestURI, [
|
chromeHandle = aomStartup.registerChrome(manifestURI, [
|
||||||
["content", "__addonRef__", rootURI + "chrome/content/"],
|
["content", "__addonRef__", rootURI + "chrome/content/"],
|
||||||
["locale", "__addonRef__", "en-US", rootURI + "chrome/locale/en-US/"],
|
|
||||||
["locale", "__addonRef__", "zh-CN", rootURI + "chrome/locale/zh-CN/"],
|
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
setDefaultPrefs(rootURI);
|
setDefaultPrefs(rootURI);
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
content __addonRef__ chrome/content/
|
|
||||||
locale __addonRef__ en-US chrome/locale/en-US/
|
|
||||||
locale __addonRef__ zh-CN chrome/locale/zh-CN/
|
|
@ -1,35 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<RDF:RDF
|
|
||||||
xmlns:em="http://www.mozilla.org/2004/em-rdf#"
|
|
||||||
xmlns:NC="http://home.netscape.com/NC-rdf#"
|
|
||||||
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
|
||||||
<RDF:Description
|
|
||||||
RDF:about="urn:mozilla:install-manifest"
|
|
||||||
em:id="__addonID__"
|
|
||||||
em:name="__addonName__"
|
|
||||||
em:version="__buildVersion__"
|
|
||||||
em:type="2"
|
|
||||||
em:creator="__author__"
|
|
||||||
em:description="__description__"
|
|
||||||
em:homepageURL="__homepage__"
|
|
||||||
em:iconURL="chrome://__addonRef__/content/icons/favicon.png"
|
|
||||||
em:optionsURL="chrome://__addonRef__/content/preferences.xul"
|
|
||||||
em:updateURL="__updaterdf__"
|
|
||||||
em:multiprocessCompatible="true"
|
|
||||||
em:bootstrap="true">
|
|
||||||
<em:targetApplication>
|
|
||||||
<Description>
|
|
||||||
<em:id>zotero@chnm.gmu.edu</em:id>
|
|
||||||
<em:minVersion>5.0</em:minVersion>
|
|
||||||
<em:maxVersion>*</em:maxVersion>
|
|
||||||
</Description>
|
|
||||||
</em:targetApplication>
|
|
||||||
<em:targetApplication>
|
|
||||||
<Description>
|
|
||||||
<em:id>juris-m@juris-m.github.io</em:id>
|
|
||||||
<em:minVersion>5.0</em:minVersion>
|
|
||||||
<em:maxVersion>*</em:maxVersion>
|
|
||||||
</Description>
|
|
||||||
</em:targetApplication>
|
|
||||||
</RDF:Description>
|
|
||||||
</RDF:RDF>
|
|
@ -100,7 +100,6 @@ async function main() {
|
|||||||
copyFolderRecursiveSync("addon", buildDir);
|
copyFolderRecursiveSync("addon", buildDir);
|
||||||
|
|
||||||
copyFileSync("update-template.json", "update.json");
|
copyFileSync("update-template.json", "update.json");
|
||||||
copyFileSync("update-template.rdf", "update.rdf");
|
|
||||||
|
|
||||||
await build({
|
await build({
|
||||||
entryPoints: ["src/index.ts"],
|
entryPoints: ["src/index.ts"],
|
||||||
@ -142,7 +141,6 @@ async function main() {
|
|||||||
join(buildDir, "addon/manifest.json"),
|
join(buildDir, "addon/manifest.json"),
|
||||||
join(buildDir, "addon/bootstrap.js"),
|
join(buildDir, "addon/bootstrap.js"),
|
||||||
"update.json",
|
"update.json",
|
||||||
"update.rdf",
|
|
||||||
],
|
],
|
||||||
from: replaceFrom,
|
from: replaceFrom,
|
||||||
to: replaceTo,
|
to: replaceTo,
|
||||||
|
@ -6,10 +6,11 @@ export { initLocale, getString };
|
|||||||
* Initialize locale data
|
* Initialize locale data
|
||||||
*/
|
*/
|
||||||
function initLocale() {
|
function initLocale() {
|
||||||
const l10n = new (ztoolkit.getGlobal("Localization"))(
|
const l10n = new (
|
||||||
[`${config.addonRef}-addon.ftl`],
|
typeof Localization === "undefined"
|
||||||
true
|
? ztoolkit.getGlobal("Localization")
|
||||||
);
|
: Localization
|
||||||
|
)([`${config.addonRef}-addon.ftl`], true);
|
||||||
addon.data.locale = {
|
addon.data.locale = {
|
||||||
current: l10n,
|
current: l10n,
|
||||||
};
|
};
|
||||||
|
2
typing/global.d.ts
vendored
2
typing/global.d.ts
vendored
@ -17,3 +17,5 @@ declare const rootURI: string;
|
|||||||
declare const addon: import("../src/addon").default;
|
declare const addon: import("../src/addon").default;
|
||||||
|
|
||||||
declare const __env__: "production" | "development";
|
declare const __env__: "production" | "development";
|
||||||
|
|
||||||
|
declare class Localization {}
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
|
|
||||||
<rdf:Description rdf:about="urn:mozilla:extension:__addonID__">
|
|
||||||
<em:updates>
|
|
||||||
<rdf:Seq>
|
|
||||||
<rdf:li>
|
|
||||||
<rdf:Description>
|
|
||||||
<em:version>__buildVersion__</em:version>
|
|
||||||
<em:targetApplication>
|
|
||||||
<rdf:Description>
|
|
||||||
<em:id>zotero@chnm.gmu.edu</em:id>
|
|
||||||
<em:minVersion>5.999</em:minVersion>
|
|
||||||
<em:maxVersion>*</em:maxVersion>
|
|
||||||
<em:updateLink>__releasepage__</em:updateLink>
|
|
||||||
</rdf:Description>
|
|
||||||
</em:targetApplication>
|
|
||||||
<em:targetApplication>
|
|
||||||
<rdf:Description>
|
|
||||||
<em:id>juris-m@juris-m.github.io</em:id>
|
|
||||||
<em:minVersion>5.999</em:minVersion>
|
|
||||||
<em:maxVersion>*</em:maxVersion>
|
|
||||||
<em:updateLink>__releasepage__</em:updateLink>
|
|
||||||
</rdf:Description>
|
|
||||||
</em:targetApplication>
|
|
||||||
</rdf:Description>
|
|
||||||
</rdf:li>
|
|
||||||
</rdf:Seq>
|
|
||||||
</em:updates>
|
|
||||||
</rdf:Description>
|
|
||||||
</rdf:RDF>
|
|
30
update.rdf
30
update.rdf
@ -1,30 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
|
|
||||||
<rdf:Description rdf:about="urn:mozilla:extension:addontemplate@euclpts.com">
|
|
||||||
<em:updates>
|
|
||||||
<rdf:Seq>
|
|
||||||
<rdf:li>
|
|
||||||
<rdf:Description>
|
|
||||||
<em:version>0.1.6</em:version>
|
|
||||||
<em:targetApplication>
|
|
||||||
<rdf:Description>
|
|
||||||
<em:id>zotero@chnm.gmu.edu</em:id>
|
|
||||||
<em:minVersion>5.999</em:minVersion>
|
|
||||||
<em:maxVersion>*</em:maxVersion>
|
|
||||||
<em:updateLink>https://github.com/windingwind/zotero-addon-template/releases/latest/download/zotero-addon-template.xpi</em:updateLink>
|
|
||||||
</rdf:Description>
|
|
||||||
</em:targetApplication>
|
|
||||||
<em:targetApplication>
|
|
||||||
<rdf:Description>
|
|
||||||
<em:id>juris-m@juris-m.github.io</em:id>
|
|
||||||
<em:minVersion>5.999</em:minVersion>
|
|
||||||
<em:maxVersion>*</em:maxVersion>
|
|
||||||
<em:updateLink>https://github.com/windingwind/zotero-addon-template/releases/latest/download/zotero-addon-template.xpi</em:updateLink>
|
|
||||||
</rdf:Description>
|
|
||||||
</em:targetApplication>
|
|
||||||
</rdf:Description>
|
|
||||||
</rdf:li>
|
|
||||||
</rdf:Seq>
|
|
||||||
</em:updates>
|
|
||||||
</rdf:Description>
|
|
||||||
</rdf:RDF>
|
|
Loading…
x
Reference in New Issue
Block a user