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)
 | 
			
		||||
 | 
			
		||||
> 👍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.
 | 
			
		||||
 | 
			
		||||
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 ([);
 | 
			
		||||
- Compatibilities for Zotero 6 & Zotero 7.(using [zotero-plugin-toolkit](https://github.com/windingwind/zotero-plugin-toolkit))
 | 
			
		||||
 | 
			
		||||
## 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)
 | 
			
		||||
 | 
			
		||||
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.
 | 
			
		||||
 | 
			
		||||
@ -196,19 +193,15 @@ vim ./scripts/zotero-cmd.json
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
> 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".
 | 
			
		||||
 | 
			
		||||
9. Connect to Zotero in Firefox.
 | 
			
		||||
 | 
			
		||||
> 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`.
 | 
			
		||||
9. Connect to Zotero in Firefox. 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.
 | 
			
		||||
 | 
			
		||||
@ -270,37 +263,6 @@ This template registers the following variables to the global scope:
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
│
 | 
			
		||||
├─addon             # addon dir
 | 
			
		||||
│  │  chrome.manifest  # for Zotero 6
 | 
			
		||||
│  │  manifest.json # for Zotero 7
 | 
			
		||||
│  │  install.rdf   # addon install conf, for Zotero 6
 | 
			
		||||
│  │  manifest.json # addon config
 | 
			
		||||
│  │  bootstrap.js  # addon load/unload script, like a main.c
 | 
			
		||||
│  │
 | 
			
		||||
│  └─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!
 | 
			
		||||
 | 
			
		||||
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");
 | 
			
		||||
    chromeHandle = aomStartup.registerChrome(manifestURI, [
 | 
			
		||||
      ["content", "__addonRef__", rootURI + "chrome/content/"],
 | 
			
		||||
      ["locale", "__addonRef__", "en-US", rootURI + "chrome/locale/en-US/"],
 | 
			
		||||
      ["locale", "__addonRef__", "zh-CN", rootURI + "chrome/locale/zh-CN/"],
 | 
			
		||||
    ]);
 | 
			
		||||
  } else {
 | 
			
		||||
    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);
 | 
			
		||||
 | 
			
		||||
  copyFileSync("update-template.json", "update.json");
 | 
			
		||||
  copyFileSync("update-template.rdf", "update.rdf");
 | 
			
		||||
 | 
			
		||||
  await build({
 | 
			
		||||
    entryPoints: ["src/index.ts"],
 | 
			
		||||
@ -142,7 +141,6 @@ async function main() {
 | 
			
		||||
      join(buildDir, "addon/manifest.json"),
 | 
			
		||||
      join(buildDir, "addon/bootstrap.js"),
 | 
			
		||||
      "update.json",
 | 
			
		||||
      "update.rdf",
 | 
			
		||||
    ],
 | 
			
		||||
    from: replaceFrom,
 | 
			
		||||
    to: replaceTo,
 | 
			
		||||
 | 
			
		||||
@ -6,10 +6,11 @@ export { initLocale, getString };
 | 
			
		||||
 * Initialize locale data
 | 
			
		||||
 */
 | 
			
		||||
function initLocale() {
 | 
			
		||||
  const l10n = new (ztoolkit.getGlobal("Localization"))(
 | 
			
		||||
    [`${config.addonRef}-addon.ftl`],
 | 
			
		||||
    true
 | 
			
		||||
  );
 | 
			
		||||
  const l10n = new (
 | 
			
		||||
    typeof Localization === "undefined"
 | 
			
		||||
      ? ztoolkit.getGlobal("Localization")
 | 
			
		||||
      : Localization
 | 
			
		||||
  )([`${config.addonRef}-addon.ftl`], true);
 | 
			
		||||
  addon.data.locale = {
 | 
			
		||||
    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 __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