From ddd15b5322f6a6dc48eddff0c5508aeeff3384ca Mon Sep 17 00:00:00 2001 From: Kodai Nakamura Date: Sun, 23 Nov 2025 13:41:45 +0900 Subject: [PATCH] chore: add excludeDirsFromAutoLinking setting --- src/settings/settings-info.ts | 2 ++ src/settings/settings.ts | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/settings/settings-info.ts b/src/settings/settings-info.ts index 07b72f8..174404a 100644 --- a/src/settings/settings-info.ts +++ b/src/settings/settings-info.ts @@ -15,6 +15,7 @@ export type AutomaticLinkerSettings = { ignoreCase: boolean; // Ignore case when matching links replaceUrlWithTitle: boolean; // Replace raw URLs with [Title](URL) replaceUrlWithTitleIgnoreDomains: string[]; // List of domains to ignore when replacing URLs with titles + excludeDirsFromAutoLinking: string[]; // Optional: List of directories to exclude from auto-linking }; export const DEFAULT_SETTINGS: AutomaticLinkerSettings = { @@ -34,4 +35,5 @@ export const DEFAULT_SETTINGS: AutomaticLinkerSettings = { ignoreCase: false, // Default: case-sensitive matching replaceUrlWithTitle: false, // Default: disable replacing URLs with titles replaceUrlWithTitleIgnoreDomains: [], + excludeDirsFromAutoLinking: [], // Default: no excluded directories }; diff --git a/src/settings/settings.ts b/src/settings/settings.ts index f7114e4..831454a 100644 --- a/src/settings/settings.ts +++ b/src/settings/settings.ts @@ -243,6 +243,30 @@ export class AutomaticLinkerPluginSettingsTab extends PluginSettingTab { }); }); + // Add excluding dirs that you wish to exclude from the automatic linking + new Setting(containerEl) + .setName("Exclude directories from automatic linking") + .setDesc( + "Directories to be excluded from automatic linking, one per line (e.g., 'Templates')", + ) + .addTextArea((text) => { + text.setPlaceholder("") + .setValue( + this.plugin.settings.excludeDirsFromAutoLinking.join( + "\n", + ), + ) + .onChange(async (value) => { + // Split by newlines and filter out empty lines + const dirs = value + .split("\n") + .map((dir) => dir.trim()) + .filter(Boolean); + this.plugin.settings.excludeDirsFromAutoLinking = dirs; + await this.plugin.saveData(this.plugin.settings); + }); + }) + new Setting(containerEl) .setName("Igonre domains") .setDesc(