resolve: #89 export MD with highlights
resolve: #35 export MD without [] conversion fix: export MD not correctly await bug add: default settings
This commit is contained in:
parent
9daa1d1162
commit
bad8a9459e
|
|
@ -42,6 +42,14 @@
|
|||
<checkbox id="__addonRef__-export-enableautosync" tooltiptext="&zotero.__addonRef__.export.workwith.label;&zotero.__addonRef__.export.singlefile.enable.label;" checked="false" oncommand="Zotero.Knowledge4Zotero.export.doUpdate(event)" />
|
||||
<label value="&zotero.__addonRef__.export.enableautosync.enable.label;" tooltiptext="Only work with &zotero.__addonRef__.export.singlefile.enable.label;" />
|
||||
</row>
|
||||
<row>
|
||||
<checkbox id="__addonRef__-export-enablehighlight" />
|
||||
<label value="&zotero.__addonRef__.export.highlight.enable.label;" />
|
||||
</row>
|
||||
<row>
|
||||
<checkbox id="__addonRef__-export-convertsquare" />
|
||||
<label value="&zotero.__addonRef__.export.convertsquare.enable.label;" />
|
||||
</row>
|
||||
</rows>
|
||||
</groupbox>
|
||||
<groupbox flex="1">
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@
|
|||
<!ENTITY zotero.__addonRef__.export.file.enable.label "Export to MarkDown File">
|
||||
<!ENTITY zotero.__addonRef__.export.singlefile.enable.label "Export Linked Notes to MarkDown File">
|
||||
<!ENTITY zotero.__addonRef__.export.enableautosync.enable.label "Auto Sync to Export Path">
|
||||
<!ENTITY zotero.__addonRef__.export.highlight.enable.label "Show Highlight">
|
||||
<!ENTITY zotero.__addonRef__.export.convertsquare.enable.label "Convert Square Brackets[]">
|
||||
<!ENTITY zotero.__addonRef__.export.richtext.label "RichText(MS Word) Settings">
|
||||
<!ENTITY zotero.__addonRef__.export.copy.enable.label "Export to clipboard">
|
||||
<!ENTITY zotero.__addonRef__.export.pdf.label "PDF Settings">
|
||||
|
|
|
|||
|
|
@ -39,6 +39,8 @@
|
|||
<!ENTITY zotero.__addonRef__.export.file.enable.label "导出为MarkDown文件">
|
||||
<!ENTITY zotero.__addonRef__.export.singlefile.enable.label "导出链接的子笔记为MarkDown文件">
|
||||
<!ENTITY zotero.__addonRef__.export.enableautosync.enable.label "修改时自动同步到导出路径">
|
||||
<!ENTITY zotero.__addonRef__.export.highlight.enable.label "显示高亮">
|
||||
<!ENTITY zotero.__addonRef__.export.convertsquare.enable.label "转换方括号[]">
|
||||
<!ENTITY zotero.__addonRef__.export.richtext.label "富文本(MS Word)设置">
|
||||
<!ENTITY zotero.__addonRef__.export.copy.enable.label "导出到剪贴板">
|
||||
<!ENTITY zotero.__addonRef__.export.pdf.label "PDF设置">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
pref("extensions.zotero.Knowledge4Zotero.syncNoteIds", "");
|
||||
pref("extensions.zotero.Knowledge4Zotero.syncPeriod", 10000);
|
||||
pref("extensions.zotero.Knowledge4Zotero.autoAnnotation", false);
|
||||
pref("extensions.zotero.Knowledge4Zotero.exportFile", true);
|
||||
pref("extensions.zotero.Knowledge4Zotero.exportSingleFile", false);
|
||||
pref("extensions.zotero.Knowledge4Zotero.exportAutoSync", false);
|
||||
pref("extensions.zotero.Knowledge4Zotero.exportHighlight", true);
|
||||
pref("extensions.zotero.Knowledge4Zotero.convertSquare", true);
|
||||
pref("extensions.zotero.Knowledge4Zotero.embedLink", true);
|
||||
pref("extensions.zotero.Knowledge4Zotero.exportNote", false);
|
||||
pref("extensions.zotero.Knowledge4Zotero.exportCopy", false);
|
||||
pref("extensions.zotero.Knowledge4Zotero.exportPDF", false);
|
||||
|
|
@ -450,6 +450,9 @@ let bundle;
|
|||
(global.TurndownService = factory()));
|
||||
})(this, function () {
|
||||
"use strict";
|
||||
var _Zotero = Components.classes["@zotero.org/Zotero;1"].getService(
|
||||
Components.interfaces.nsISupports
|
||||
).wrappedJSObject;
|
||||
|
||||
function extend(destination) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
|
|
@ -902,6 +905,20 @@ let bundle;
|
|||
},
|
||||
};
|
||||
|
||||
rules.backgroundColor = {
|
||||
filter: function (node) {
|
||||
return (
|
||||
node.nodeName === "SPAN" &&
|
||||
node.style["background-color"] &&
|
||||
_Zotero.Prefs.get("Knowledge4Zotero.exportHighlight")
|
||||
);
|
||||
},
|
||||
|
||||
replacement: function (content, node) {
|
||||
return `<span style="background-color: ${node.style["background-color"]}">${content}</span>`;
|
||||
},
|
||||
};
|
||||
|
||||
function cleanAttribute(attribute) {
|
||||
return attribute ? attribute.replace(/(\n+\s*)+/g, "\n") : "";
|
||||
}
|
||||
|
|
@ -1331,13 +1348,16 @@ let bundle;
|
|||
[/^(#{1,6}) /g, "\\$1 "],
|
||||
[/`/g, "\\`"],
|
||||
[/^~~~/g, "\\~~~"],
|
||||
[/\[/g, "\\["],
|
||||
[/\]/g, "\\]"],
|
||||
[/^>/g, "\\>"],
|
||||
// [/_/g, "\\_"],
|
||||
[/^(\d+)\. /g, "$1\\. "],
|
||||
];
|
||||
|
||||
if (_Zotero.Prefs.get("Knowledge4Zotero.convertSquare")) {
|
||||
escapes.push([/\[/g, "\\["]);
|
||||
escapes.push([/\]/g, "\\]"]);
|
||||
}
|
||||
|
||||
function TurndownService(options) {
|
||||
if (!(this instanceof TurndownService))
|
||||
return new TurndownService(options);
|
||||
|
|
|
|||
|
|
@ -1731,13 +1731,6 @@ class AddonEvents extends AddonBase {
|
|||
this._Addon.template.getCitationStyle();
|
||||
// Initialize sync notes
|
||||
this._Addon.sync.getSyncNoteIds();
|
||||
// Initialize sync period
|
||||
// Default sync period is 10s
|
||||
if (
|
||||
typeof Zotero.Prefs.get("Knowledge4Zotero.syncPeriod") === "undefined"
|
||||
) {
|
||||
this._Addon.syncList.changeSyncPeriod(10);
|
||||
}
|
||||
this._Addon.views.updateAutoInsertAnnotationsMenu();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,22 @@ class AddonExport extends AddonBase {
|
|||
) as XUL.Checkbox
|
||||
).checked = exportAutoSync;
|
||||
}
|
||||
let exportHighlight = Zotero.Prefs.get("Knowledge4Zotero.exportHighlight");
|
||||
if (typeof exportHighlight !== "undefined") {
|
||||
(
|
||||
this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-enablehighlight"
|
||||
) as XUL.Checkbox
|
||||
).checked = exportHighlight;
|
||||
}
|
||||
let convertSquare = Zotero.Prefs.get("Knowledge4Zotero.convertSquare");
|
||||
if (typeof convertSquare !== "undefined") {
|
||||
(
|
||||
this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-convertsquare"
|
||||
) as XUL.Checkbox
|
||||
).checked = exportHighlight;
|
||||
}
|
||||
let embedLink = Zotero.Prefs.get("Knowledge4Zotero.embedLink");
|
||||
if (typeof embedLink !== "undefined") {
|
||||
(
|
||||
|
|
@ -89,6 +105,13 @@ class AddonExport extends AddonBase {
|
|||
let exportAutoSync = this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-enableautosync"
|
||||
) as XUL.Checkbox;
|
||||
let exportHighlight = this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-enablehighlight"
|
||||
) as XUL.Checkbox;
|
||||
let convertSquare = this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-convertsquare"
|
||||
) as XUL.Checkbox;
|
||||
|
||||
|
||||
if (event) {
|
||||
if (
|
||||
|
|
@ -118,6 +141,9 @@ class AddonExport extends AddonBase {
|
|||
} else {
|
||||
exportAutoSync.disabled = true;
|
||||
}
|
||||
|
||||
exportHighlight.disabled = !exportFile.checked;
|
||||
convertSquare.disabled = !exportFile.checked;
|
||||
}
|
||||
doUnload() {
|
||||
this.io.deferred && this.io.deferred.resolve();
|
||||
|
|
@ -139,6 +165,16 @@ class AddonExport extends AddonBase {
|
|||
"Knowledge4Zotero-export-enableautosync"
|
||||
) as XUL.Checkbox
|
||||
).checked;
|
||||
let exportHighlight = (
|
||||
this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-enablehighlight"
|
||||
) as XUL.Checkbox
|
||||
).checked;
|
||||
let convertSquare = (
|
||||
this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-convertsquare"
|
||||
) as XUL.Checkbox
|
||||
).checked;
|
||||
let embedLink = (
|
||||
this._window.document.getElementById(
|
||||
"Knowledge4Zotero-export-embedLink"
|
||||
|
|
@ -162,6 +198,8 @@ class AddonExport extends AddonBase {
|
|||
Zotero.Prefs.set("Knowledge4Zotero.exportFile", exportFile);
|
||||
Zotero.Prefs.set("Knowledge4Zotero.exportSingleFile", exportSingleFile);
|
||||
Zotero.Prefs.set("Knowledge4Zotero.exportAutoSync", exportAutoSync);
|
||||
Zotero.Prefs.set("Knowledge4Zotero.exportHighlight", exportHighlight);
|
||||
Zotero.Prefs.set("Knowledge4Zotero.convertSquare", convertSquare);
|
||||
Zotero.Prefs.set("Knowledge4Zotero.embedLink", embedLink);
|
||||
Zotero.Prefs.set("Knowledge4Zotero.exportNote", exportNote);
|
||||
Zotero.Prefs.set("Knowledge4Zotero.exportCopy", exportCopy);
|
||||
|
|
|
|||
|
|
@ -741,8 +741,10 @@ class Knowledge extends AddonBase {
|
|||
const translator = new Zotero.Translate.Export();
|
||||
translator.setItems([newNote]);
|
||||
translator.setLocation(Zotero.File.pathToFile(filename));
|
||||
this._exportPromise = Zotero.Promise.defer();
|
||||
translator.setTranslator(TRANSLATOR_ID_BETTER_MARKDOWN);
|
||||
translator.translate();
|
||||
await this._exportPromise.promise;
|
||||
this._Addon.views.showProgressWindow(
|
||||
"Better Notes",
|
||||
`Note Saved to ${filename}`
|
||||
|
|
|
|||
|
|
@ -103,10 +103,6 @@ class AddonSync extends AddonBase {
|
|||
|
||||
getSyncNoteIds(): Number[] {
|
||||
const ids = Zotero.Prefs.get("Knowledge4Zotero.syncNoteIds");
|
||||
if (typeof ids === "undefined") {
|
||||
Zotero.Prefs.set("Knowledge4Zotero.syncNoteIds", "");
|
||||
return [];
|
||||
}
|
||||
return ids.split(",").map((id: string) => Number(id));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue