diff --git a/addon/chrome/content/overlay.xul b/addon/chrome/content/overlay.xul
index 2f60d27..5d07e24 100644
--- a/addon/chrome/content/overlay.xul
+++ b/addon/chrome/content/overlay.xul
@@ -21,6 +21,7 @@
+
@@ -30,6 +31,7 @@
+
@@ -54,6 +56,7 @@
+
diff --git a/addon/chrome/content/workspace.xul b/addon/chrome/content/workspace.xul
index 8518e85..5dbcad7 100644
--- a/addon/chrome/content/workspace.xul
+++ b/addon/chrome/content/workspace.xul
@@ -29,6 +29,7 @@
+
@@ -38,6 +39,7 @@
+
@@ -58,6 +60,7 @@
+
diff --git a/addon/chrome/locale/en-US/overlay.dtd b/addon/chrome/locale/en-US/overlay.dtd
index af68f1c..2dcd49f 100644
--- a/addon/chrome/locale/en-US/overlay.dtd
+++ b/addon/chrome/locale/en-US/overlay.dtd
@@ -4,6 +4,7 @@
+
diff --git a/addon/chrome/locale/zh-CN/overlay.dtd b/addon/chrome/locale/zh-CN/overlay.dtd
index 904ccef..9958c77 100644
--- a/addon/chrome/locale/zh-CN/overlay.dtd
+++ b/addon/chrome/locale/zh-CN/overlay.dtd
@@ -4,6 +4,7 @@
+
diff --git a/src/events.ts b/src/events.ts
index 8701075..9f22ad9 100644
--- a/src/events.ts
+++ b/src/events.ts
@@ -1377,6 +1377,18 @@ class AddonEvents extends AddonBase {
!useSingleFile
);
}
+ } else if (message.type === "sync") {
+ /*
+ message.content = {
+ editorInstance
+ }
+ */
+ const note = this._Addon.knowledge.getWorkspaceNote();
+ if (this._Addon.sync.isSyncNote(note)) {
+ this._Addon.sync.doSync([note], true, false);
+ } else {
+ await this._Addon.knowledge.exportNotesToFile([note], false, true);
+ }
} else if (message.type === "openAttachment") {
/*
message.content = {
diff --git a/src/knowledge.ts b/src/knowledge.ts
index 68f22b9..dd57e47 100644
--- a/src/knowledge.ts
+++ b/src/knowledge.ts
@@ -867,7 +867,8 @@ class Knowledge extends AddonBase {
Components.utils.import("resource://gre/modules/osfile.jsm");
this._exportFileDict = [];
const filepath = await pick(
- Zotero.getString("fileInterface.export"),
+ Zotero.getString(useSync ? "sync.sync" : "fileInterface.export") +
+ " MarkDown",
"folder"
);
diff --git a/src/sync.ts b/src/sync.ts
index 986f3e8..5144a29 100644
--- a/src/sync.ts
+++ b/src/sync.ts
@@ -110,6 +110,11 @@ class AddonSync extends AddonBase {
return ids.split(",").map((id: string) => Number(id));
}
+ isSyncNote(note: ZoteroItem): boolean {
+ const syncNoteIds = this._Addon.sync.getSyncNoteIds();
+ return syncNoteIds.includes(note.id);
+ }
+
async getRelatedNoteIds(note: ZoteroItem): Promise {
let allNoteIds: Number[] = [note.id];
const linkMatches = note.getNote().match(/zotero:\/\/note\/\w+\/\w+\//g);