Skip to content

feat: add property update operations#112

Merged
vran-dev merged 1 commit into
vran-dev:masterfrom
RavenHogWarts:feat/update-frontmatter-multiple-operations
May 27, 2026
Merged

feat: add property update operations#112
vran-dev merged 1 commit into
vran-dev:masterfrom
RavenHogWarts:feat/update-frontmatter-multiple-operations

Conversation

@RavenHogWarts

@RavenHogWarts RavenHogWarts commented Apr 11, 2026

Copy link
Copy Markdown
Collaborator

closed #110

变更说明

此前「更新属性」动作只能覆盖属性值,无法灵活应对追加或删除属性的场景。本次改动为每个属性配置项增加了操作方式下拉选择,支持三种模式:

操作 行为
覆盖 用新值覆盖原属性值(原有行为)
追加 保留原值。数组属性合并去重;非数组属性仅在不存时赋值,已有值则不覆盖
删除 删除整个属性,属性不存在时跳过

改动文件

  • 新增 PropertyUpdateOperation 枚举和 PropertyUpdateOperationSelect 下拉组件
  • PropertyUpdate 接口增加 operation 字段(默认 SET,向后兼容)
  • UpdateFrontmatterActionService 按操作类型分支执行
  • 校验逻辑:REMOVE 操作不要求填写属性值
  • UI:「删除」操作时自动隐藏属性值输入框
  • i18n:中/英/繁体三语翻译
  • 动作摘要中标注非默认操作类型

为 UPDATE_FRONTMATTER 动作的每个属性增加操作类型选择,支持:
覆盖(SET):用新值覆盖原属性值,为原有默认行为
追加(ADD):保留原值,数组属性合并去重,非数组属性仅在不存在时赋值
删除(REMOVE):删除整个属性,属性不存在时跳过
向后兼容:已有配置未包含 operation 字段时默认为 SET。
@RavenHogWarts RavenHogWarts requested a review from vran-dev April 11, 2026 15:25
@vran-dev vran-dev merged commit 791e08b into vran-dev:master May 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FR]: 更新属性 增加三种形式:新增属性、修改属性、去除属性

2 participants