From 9a46a6ea553b65caa9a2c1bfeacf5028043fa9c0 Mon Sep 17 00:00:00 2001 From: "Ryan J.A. Murphy" Date: Sun, 8 Nov 2020 10:35:31 -0700 Subject: [PATCH] Implemented a better link-creation mechanism. --- main.ts | 14 ++++++++------ manifest.json | 2 +- package.json | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/main.ts b/main.ts index 6bcc138..703056d 100644 --- a/main.ts +++ b/main.ts @@ -78,9 +78,11 @@ export default class Review extends Plugin { if (parsedResult.moment.isValid()) { // get the current note name let noteName = obsidianApp.workspace.activeLeaf.getDisplayText(); + let noteFile = obsidianApp.workspace.activeLeaf.view.file; + let noteLink = obsidianApp.metadataCache.fileToLinktext(noteFile, noteFile.path, true); + - - // check if the file exists + // check if the daily note file exists let files = obsidianApp.vault.getFiles(); const dateFile = files.filter(e => e.name === inputDate //hat-tip 🎩 to @MrJackPhil for this little workflow || e.path === inputDate @@ -90,7 +92,7 @@ export default class Review extends Plugin { console.log("File found:" + dateFile); if (!dateFile) { //the file does not already exist console.log("The daily note for the given date does not exist yet. Creating it, then appending the review section.") - let noteText = reviewHeading + "\n" + reviewLinePrefix + "[[" + noteName + "]]"; + let noteText = reviewHeading + "\n" + reviewLinePrefix + "[[" + noteLink + "]]"; let newDateFile = obsidianApp.vault.create(notesPath + inputDate + ".md", noteText); new Notice("Set note \"" + noteName + "\" for review on " + inputDate + "."); } else { //the file exists @@ -101,9 +103,9 @@ export default class Review extends Plugin { console.log("Previous Note text:\n" + previousNoteText); let newNoteText = ""; if (previousNoteText.includes(reviewHeading)) { - newNoteText = previousNoteText.replace(reviewHeading, reviewHeading + "\n" + reviewLinePrefix + "[[" + noteName + "]]\n"); + newNoteText = previousNoteText.replace(reviewHeading, reviewHeading + "\n" + reviewLinePrefix + "[[" + noteLink + "]]\n"); } else { - newNoteText = previousNoteText + "\n" + reviewHeading + "\n" + reviewLinePrefix + "[[" + noteName + "]]\n"; + newNoteText = previousNoteText + "\n" + reviewHeading + "\n" + reviewLinePrefix + "[[" + noteLink + "]]\n"; } obsidianApp.vault.modify(dateFile, newNoteText); new Notice("Set note \"" + noteName + "\" for review on " + inputDate + "."); @@ -163,7 +165,7 @@ class ReviewSettingTab extends PluginSettingTab { containerEl.empty(); - containerEl.createEl('h2', { text: 'Review settings' }); + containerEl.createEl('h2', { text: 'Review Settings' }); new Setting(containerEl) .setName('Daily note location') diff --git a/manifest.json b/manifest.json index ed97150..8d45f95 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "review-obsidian", "name": "Review", - "version": "1.2.1", + "version": "1.3.0", "description": "Add a link to the current note to a daily note on a future date (or a past date, you time traveller).", "author": "ryanjamurphy", "authorUrl": "https://axle.design", diff --git a/package.json b/package.json index 8c9052d..88dfe85 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "review-obsidian", - "version": "1.0.0", + "version": "1.3.0", "description": "Add a link to the current note to a daily note on a future date (or a past date, you time traveller).", "main": "main.js", "repository": "ryanjamurphy/review-obsidian",