diff --git a/packages/foam-vscode/src/services/note-creation-engine.test.ts b/packages/foam-vscode/src/services/note-creation-engine.test.ts index f3e834cd..ebd1b606 100644 --- a/packages/foam-vscode/src/services/note-creation-engine.test.ts +++ b/packages/foam-vscode/src/services/note-creation-engine.test.ts @@ -499,8 +499,8 @@ foam_template: const result = await engine.processTemplate(trigger, template, resolver); - // All invalid characters should become dashes - expect(result.filepath.path).toBe('Test-------------Title-----.md'); + // All invalid characters should become dashes, and valid should stay unchanged + expect(result.filepath.path).toBe("Test#%&{}----$!'-Title@+`-=.md"); // Content should remain unchanged expect(result.content).toContain('# Test#%&{}<>?*$!\'"Title@+`|='); diff --git a/packages/foam-vscode/src/services/note-creation-engine.ts b/packages/foam-vscode/src/services/note-creation-engine.ts index 967dcce2..b53b190c 100644 --- a/packages/foam-vscode/src/services/note-creation-engine.ts +++ b/packages/foam-vscode/src/services/note-creation-engine.ts @@ -15,9 +15,9 @@ import { URI } from '../core/model/uri'; /** * Characters that are invalid in file names * Based on UNALLOWED_CHARS from variable-resolver.ts but excluding filepaths - * related chars + * related chars and chars permissible in filepaths */ -const FILEPATH_UNALLOWED_CHARS = '#%&{}<>?*$!\'"@+`|='; +const FILEPATH_UNALLOWED_CHARS = '<>?*"|'; /** * Sanitizes a filepath by replacing invalid characters with dashes