From 33629685fc7dbdacc799177bae02fe77f595beda Mon Sep 17 00:00:00 2001 From: Quorafind Date: Fri, 19 Sep 2025 09:52:31 +0800 Subject: [PATCH] fix(write): sanitize spaces in project and context tags for Tasks format Replace spaces with hyphens in project and context tags when using Tasks format to ensure proper tag parsing. Dataview format preserves original spaces as intended. --- src/dataflow/api/WriteAPI.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/dataflow/api/WriteAPI.ts b/src/dataflow/api/WriteAPI.ts index 918a2e3d..2797a193 100644 --- a/src/dataflow/api/WriteAPI.ts +++ b/src/dataflow/api/WriteAPI.ts @@ -1786,11 +1786,16 @@ export class WriteAPI { const projectPrefix = this.plugin.settings.projectTagPrefix?.dataview || "project"; + // Dataview 格式保留原始空格 metadata.push(`[${projectPrefix}:: ${args.project}]`); } else { const projectPrefix = this.plugin.settings.projectTagPrefix?.tasks || "project"; - metadata.push(`#${projectPrefix}/${args.project}`); + // Tasks 格式:空格使用 "-" 连接 + const sanitizedProject = String(args.project) + .trim() + .replace(/\s+/g, "-"); + metadata.push(`#${projectPrefix}/${sanitizedProject}`); } } @@ -1800,11 +1805,16 @@ export class WriteAPI { const contextPrefix = this.plugin.settings.contextTagPrefix?.dataview || "context"; + // Dataview 格式保留原始空格 metadata.push(`[${contextPrefix}:: ${args.context}]`); } else { const contextPrefix = this.plugin.settings.contextTagPrefix?.tasks || "@"; - metadata.push(`${contextPrefix}${args.context}`); + // Tasks 格式:空格使用 "-" 连接 + const sanitizedContext = String(args.context) + .trim() + .replace(/\s+/g, "-"); + metadata.push(`${contextPrefix}${sanitizedContext}`); } }