From 4626cb1243b476d03a291001ef0145167a6932f6 Mon Sep 17 00:00:00 2001 From: Justin Parker Date: Thu, 31 Oct 2024 23:37:37 -0700 Subject: [PATCH] resolve excluded folders save issue --- CHANGELOG.md | 5 ++ UPDATE.md | 3 ++ example-vault.zip | Bin 518923 -> 519046 bytes .../.obsidian/plugins/rich-foot/data.json | 2 +- .../.obsidian/plugins/rich-foot/main.js | 42 +++++++++++------ .../.obsidian/plugins/rich-foot/manifest.json | 2 +- .../.obsidian/workspace.json | 4 +- manifest.json | 2 +- src/main.js | 44 +++++++++++------- 9 files changed, 68 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 844d866..4a14ad5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to Rich Foot will be documented in this file. +## [1.5.1] - 2024-10-31 + +### Fixed +- Fixed bug where excluded folders were not being saved correctly + ## [1.5.0] - 2024-10-31 ### Added diff --git a/UPDATE.md b/UPDATE.md index b094b72..3098edd 100644 --- a/UPDATE.md +++ b/UPDATE.md @@ -1,5 +1,8 @@ ## 🎉 What's New +### v1.5.1 +- Fixed bug where excluded folders were not being saved correctly + ### v1.5.0 #### New Customization Options Rich Foot now offers extensive customization options for fine-tuning the appearance of your note footers: diff --git a/example-vault.zip b/example-vault.zip index 8b678b3b7c9ab9a3aa5c64ff073dc9203e59edb4..3905971c84347ca45d0c4fcd8712b1bffe35ce5b 100644 GIT binary patch delta 8054 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 delta 7831 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 diff --git a/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/data.json b/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/data.json index ac5b39f..5a0a8fa 100644 --- a/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/data.json +++ b/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/data.json @@ -12,5 +12,5 @@ "showBacklinks": true, "showOutlinks": true, "showDates": true, - "lastVersion": "1.4.0" + "lastVersion": "1.5.0" } \ No newline at end of file diff --git a/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/main.js b/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/main.js index 1fb5bb0..ab8a977 100644 --- a/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/main.js +++ b/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/main.js @@ -78,7 +78,7 @@ var ReleaseNotesModal = class extends import_obsidian.Modal { }; // virtual-module:virtual:release-notes -var releaseNotes = "

\u{1F389} What's New

\n

v1.5.0

\n

New Customization Options

\n

Rich Foot now offers extensive customization options for fine-tuning the appearance of your note footers:

\n
Border Controls
\n
    \n
  • Adjustable border width (1-10px)
  • \n
  • Multiple border styles (solid, dashed, dotted, double, groove, ridge, inset, outset)
  • \n
  • Border opacity control (0-1)
  • \n
\n
Link Appearance
\n
    \n
  • Customizable border radius for links (0-15px)
  • \n
  • Opacity control for backlinks and outlinks (0-1)
  • \n
\n
Date Display
\n
    \n
  • Adjustable opacity for created/modified dates (0-1)
  • \n
\n"; +var releaseNotes = "

\u{1F389} What's New

\n

v1.5.1

\n
    \n
  • Fixed bug where excluded folders were not being saved correctly
  • \n
\n

v1.5.0

\n

New Customization Options

\n

Rich Foot now offers extensive customization options for fine-tuning the appearance of your note footers:

\n
Border Controls
\n
    \n
  • Adjustable border width (1-10px)
  • \n
  • Multiple border styles (solid, dashed, dotted, double, groove, ridge, inset, outset)
  • \n
  • Border opacity control (0-1)
  • \n
\n
Link Appearance
\n
    \n
  • Customizable border radius for links (0-15px)
  • \n
  • Opacity control for backlinks and outlinks (0-1)
  • \n
\n
Date Display
\n
    \n
  • Adjustable opacity for created/modified dates (0-1)
  • \n
\n"; // src/main.js var DEFAULT_SETTINGS = { @@ -88,7 +88,8 @@ var DEFAULT_SETTINGS = { borderRadius: 15, datesOpacity: 1, linksOpacity: 1, - showReleaseNotes: true + showReleaseNotes: true, + excludedFolders: [] }; var RichFootPlugin = class extends import_obsidian2.Plugin { async onload() { @@ -120,7 +121,11 @@ var RichFootPlugin = class extends import_obsidian2.Plugin { this.contentObserver = new MutationObserver(this.updateRichFoot); } async loadSettings() { - this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + const loadedData = await this.loadData(); + this.settings = Object.assign({}, DEFAULT_SETTINGS, loadedData); + if (!Array.isArray(this.settings.excludedFolders)) { + this.settings.excludedFolders = []; + } } async saveSettings() { await this.saveData(this.settings); @@ -315,6 +320,10 @@ var RichFootPlugin = class extends import_obsidian2.Plugin { } // Add this method to check if a file should be excluded shouldExcludeFile(filePath) { + var _a; + if (!((_a = this.settings) == null ? void 0 : _a.excludedFolders)) { + return false; + } return this.settings.excludedFolders.some((folder) => filePath.startsWith(folder)); } }; @@ -324,6 +333,7 @@ var RichFootSettingTab = class extends import_obsidian2.PluginSettingTab { this.plugin = plugin; } display() { + var _a; let { containerEl } = this; containerEl.empty(); containerEl.addClass("rich-foot-settings"); @@ -334,19 +344,21 @@ var RichFootSettingTab = class extends import_obsidian2.PluginSettingTab { cls: "setting-item-description" }); const excludedFoldersContainer = containerEl.createDiv("excluded-folders-container"); - this.plugin.settings.excludedFolders.forEach((folder, index) => { - const folderDiv = excludedFoldersContainer.createDiv("excluded-folder-item"); - folderDiv.createSpan({ text: folder }); - const deleteButton = folderDiv.createEl("button", { - text: "Delete", - cls: "excluded-folder-delete" + if ((_a = this.plugin.settings) == null ? void 0 : _a.excludedFolders) { + this.plugin.settings.excludedFolders.forEach((folder, index) => { + const folderDiv = excludedFoldersContainer.createDiv("excluded-folder-item"); + folderDiv.createSpan({ text: folder }); + const deleteButton = folderDiv.createEl("button", { + text: "Delete", + cls: "excluded-folder-delete" + }); + deleteButton.addEventListener("click", async () => { + this.plugin.settings.excludedFolders.splice(index, 1); + await this.plugin.saveSettings(); + this.display(); + }); }); - deleteButton.addEventListener("click", async () => { - this.plugin.settings.excludedFolders.splice(index, 1); - await this.plugin.saveSettings(); - this.display(); - }); - }); + } const newFolderSetting = new import_obsidian2.Setting(containerEl).setName("Add excluded folder").setDesc("Enter a folder path or browse to select").addText((text) => text.setPlaceholder("folder/subfolder").onChange(() => { })).addButton((button) => button.setButtonText("Browse").onClick(async () => { const folder = await this.browseForFolder(); diff --git a/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/manifest.json b/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/manifest.json index 387ea66..5706193 100644 --- a/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/manifest.json +++ b/example-vault/rich-foot-example/.obsidian/plugins/rich-foot/manifest.json @@ -1,7 +1,7 @@ { "id": "rich-foot", "name": "Rich Foot", - "version": "1.5.0", + "version": "1.5.1", "minAppVersion": "1.6.0", "description": "Adds backlink tags and created/modified dates to the footer of your notes.", "author": "Justin Parker", diff --git a/example-vault/rich-foot-example/.obsidian/workspace.json b/example-vault/rich-foot-example/.obsidian/workspace.json index 73b9083..2bb88c6 100644 --- a/example-vault/rich-foot-example/.obsidian/workspace.json +++ b/example-vault/rich-foot-example/.obsidian/workspace.json @@ -166,12 +166,12 @@ "active": "e2b1b7584f7a474c", "lastOpenFiles": [ "backlink test.md", + "exclude/no rich-feet here.md", + "exclude/me too/no rich-feet here either.md", "🦶 Rich Foot.md", "images/rich-feet-3.jpg", "images/rich-feet.jpg", "images/rich-feet-2.jpg", - "exclude/me too/no rich-feet here either.md", - "exclude/no rich-feet here.md", "images", "exclude/me too", "exclude", diff --git a/manifest.json b/manifest.json index 387ea66..5706193 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "rich-foot", "name": "Rich Foot", - "version": "1.5.0", + "version": "1.5.1", "minAppVersion": "1.6.0", "description": "Adds backlink tags and created/modified dates to the footer of your notes.", "author": "Justin Parker", diff --git a/src/main.js b/src/main.js index ca650ca..ed3aa8d 100644 --- a/src/main.js +++ b/src/main.js @@ -9,7 +9,8 @@ const DEFAULT_SETTINGS = { borderRadius: 15, datesOpacity: 1, linksOpacity: 1, - showReleaseNotes: true + showReleaseNotes: true, + excludedFolders: [] }; class RichFootSettings { @@ -74,7 +75,13 @@ class RichFootPlugin extends Plugin { } async loadSettings() { - this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + const loadedData = await this.loadData(); + this.settings = Object.assign({}, DEFAULT_SETTINGS, loadedData); + + // Ensure excludedFolders is always an array + if (!Array.isArray(this.settings.excludedFolders)) { + this.settings.excludedFolders = []; + } } async saveSettings() { @@ -325,6 +332,9 @@ class RichFootPlugin extends Plugin { // Add this method to check if a file should be excluded shouldExcludeFile(filePath) { + if (!this.settings?.excludedFolders) { + return false; + } return this.settings.excludedFolders.some(folder => filePath.startsWith(folder)); } } @@ -353,21 +363,23 @@ class RichFootSettingTab extends PluginSettingTab { const excludedFoldersContainer = containerEl.createDiv('excluded-folders-container'); // Display current excluded folders - this.plugin.settings.excludedFolders.forEach((folder, index) => { - const folderDiv = excludedFoldersContainer.createDiv('excluded-folder-item'); - folderDiv.createSpan({ text: folder }); - - const deleteButton = folderDiv.createEl('button', { - text: 'Delete', - cls: 'excluded-folder-delete' - }); - - deleteButton.addEventListener('click', async () => { - this.plugin.settings.excludedFolders.splice(index, 1); - await this.plugin.saveSettings(); - this.display(); // Refresh the display + if (this.plugin.settings?.excludedFolders) { + this.plugin.settings.excludedFolders.forEach((folder, index) => { + const folderDiv = excludedFoldersContainer.createDiv('excluded-folder-item'); + folderDiv.createSpan({ text: folder }); + + const deleteButton = folderDiv.createEl('button', { + text: 'Delete', + cls: 'excluded-folder-delete' + }); + + deleteButton.addEventListener('click', async () => { + this.plugin.settings.excludedFolders.splice(index, 1); + await this.plugin.saveSettings(); + this.display(); + }); }); - }); + } // Add new folder section const newFolderSetting = new Setting(containerEl)