From b88f826e347eecbdcaa5d7648bb8f0d8066d297a Mon Sep 17 00:00:00 2001 From: xiangyu <3170102889@zju.edu.cn> Date: Fri, 10 Jun 2022 22:34:58 +0800 Subject: [PATCH] add: backlink template resolve: #42 --- src/export.ts | 2 +- src/knowledge.ts | 20 ++++++++++++++++++-- src/template.ts | 5 +++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/export.ts b/src/export.ts index 4643e61..2108700 100644 --- a/src/export.ts +++ b/src/export.ts @@ -59,7 +59,7 @@ class AddonExport extends AddonBase { } this.doUpdate(); } - doUpdate(event: XULEvent) { + doUpdate() { ( this._window.document.getElementById( "Knowledge4Zotero-export-embedLink" diff --git a/src/knowledge.ts b/src/knowledge.ts index e55cf36..ab33bd8 100644 --- a/src/knowledge.ts +++ b/src/knowledge.ts @@ -415,16 +415,32 @@ class Knowledge extends AddonBase { const link = this.getNoteLink(linkedNote); const linkText = linkedNote.getNoteTitle().trim(); let _newLine: string = ""; - const templateText = this._Addon.template.getTemplateText("[QuickInsert]"); + const insertTemplateText = + this._Addon.template.getTemplateText("[QuickInsert]"); try { _newLine = new Function( "link, subNoteItem, noteItem", - "return `" + templateText + "`" + "return `" + insertTemplateText + "`" )(link, linkedNote, targetNote); } catch (e) { alert(e); } this.addLineToNote(targetNote, _newLine, lineIndex, true); + + const backLinkTemplateText = + this._Addon.template.getTemplateText("[QuickBackLink]"); + if (backLinkTemplateText) { + try { + _newLine = new Function( + "subNoteItem, noteItem", + "return `" + backLinkTemplateText + "`" + )(linkedNote, targetNote); + } catch (e) { + alert(e); + } + this.addLineToNote(linkedNote, _newLine, -1, true); + } + this._Addon.views.showProgressWindow( "Better Notes", "Link is added to workspace" diff --git a/src/template.ts b/src/template.ts index dd0e060..07a3f3c 100644 --- a/src/template.ts +++ b/src/template.ts @@ -11,6 +11,11 @@ class AddonTemplate extends AddonBase { text: '${subNoteItem.getNoteTitle().trim() ? subNoteItem.getNoteTitle().trim() : link}', disabled: false, }, + { + name: "[QuickBackLink]", + text: '

Referred in ${noteItem.getNoteTitle().trim() ? noteItem.getNoteTitle().trim() : "Main Note"}

', + disabled: false, + }, { name: "[QuickImport]", text: '
\n

Linked Note:

\n${subNoteLines.join("")}\n
',