Skip to content

Conversation

@yangbin09
Copy link

问题描述

当用户在Obsidian中粘贴截图后,如果对截图文件进行重命名操作,Markdown文件中的链接引用地址不会自动更新,导致链接失效。

解决方案

本PR修复了这个问题,主要包含以下改进:

1. 修复链接检测正则表达式

  • 更新了 linkDetector.ts 中的正则表达式,确保能正确匹配各种格式的链接
  • 支持带有特殊字符和空格的文件名

2. 新增LinkUpdater类

  • 创建了专门的 LinkUpdater 类来处理链接更新逻辑
  • 实现了智能的URL解码和路径比较
  • 支持相对路径和绝对路径的转换

3. 集成到重命名流程

  • create.ts 中集成了链接更新功能
  • 确保在文件重命名后自动更新所有相关的Markdown文件中的链接

4. 改进路径处理

  • 正确处理URL编码的路径
  • 支持包含空格和特殊字符的文件名
  • 确保路径比较的准确性

测试

  • ✅ 测试了截图粘贴和重命名功能
  • ✅ 验证了链接更新的正确性
  • ✅ 确保了对现有功能的兼容性

相关文件

  • src/lib/linkDetector.ts - 修复链接检测逻辑
  • src/lib/linkUpdater.ts - 新增链接更新类
  • src/create.ts - 集成链接更新功能
  • src/arrange.ts - 更新重命名逻辑

qq_27963509 added 2 commits August 16, 2025 22:04
…言切换功能到设置页面\n- 修复TypeScript配置以支持现代JavaScript特性\n- 安装@types/node依赖解决类型定义问题
- 修复linkDetector中markdown图片链接检测的正则表达式
- 添加LinkUpdater类处理文件重命名后的链接更新
- 在create.ts中添加手动链接更新逻辑
- 支持URL编码路径的正确解码和比较

Fixes: 截图粘贴到笔记后图片引用地址没有更新的问题
@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​types/​node@​16.18.101 ⏵ 16.18.12610010079 +196 +1100

View full report

@trganda
Copy link
Owner

trganda commented Aug 19, 2025

我需要花时间测试一下

@yangbin09
Copy link
Author

测试了吗?请问可以合并进去吗?

@trganda
Copy link
Owner

trganda commented Aug 24, 2025

当用户在Obsidian中粘贴截图后,如果对截图文件进行重命名操作,Markdown文件中的链接引用地址不会自动更新,导致链接失效。

我测了一下,之前的版本使用默认配置,如果更改md附件的名字,md内部的链接会自动更新(只要启动ob的自动更新内部链接就行)

Screen-2025-08-24-192711

麻烦你描述一下你碰到这个问题时的插件和ob配置

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.

2 participants