当前位置: 首页 > news >正文

NotePic 1.2.0 发布:Obsidian 图片上传后,本地残留也能清理了

很多 Obsidian 用户都会遇到这个情况:

  1. 写作时把截图、配图、附件正常放进 Vault
  2. 发布前用 NotePic 把图片上传到 OSS
  3. Markdown 里的图片引用已经变成线上链接
  4. 但原来的本地图片文件还留在附件目录里

如果只写几篇笔记,这不是大问题。

但如果你长期用 Obsidian 写文章、整理知识库,或者把整个 Vault 放进 Git 仓库同步,图片残留就会慢慢变成真实成本。

Markdown 文件通常只有几 KB,真正让仓库变重的往往是截图、封面图、演示图和各种已经不再被笔记引用的附件。

Git 仓库越重,clonepullpush、备份和多端同步都会受到影响。尤其是 Obsidian Vault 里图片越来越多时,你可能已经不记得哪些图片还在被引用,哪些只是上传后留下来的历史包袱。

所以最新版本做的事情不是再增加一个上传按钮,而是让这些本地图片重新变得可见、可判断、可清理。


NotePic 最新版本新增了什么

NotePic 最新版本新增本地图片资产清理能力。

这次更新后,你可以在 Obsidian 里扫描 Vault 中的本地图片,并查看这些图片的引用状态。

它主要覆盖这些动作:

  • 扫描 Vault 里的本地图片文件
  • 区分已被笔记引用和未被引用的图片
  • 统计图片数量和占用大小
  • 按目录结构查看图片分布
  • 选择不再需要的本地图片
  • 删除前进行确认

这个功能是为了解决一个问题:我已经把文章里的图片上传到 OSS,笔记里的引用也已经变成线上链接,现在想安全地找出那些不再被任何笔记引用的本地残留图片。


为什么这个功能对 Git 用户特别有用

如果你的 Obsidian Vault 只是本地使用,本地图片多一点可能只是占硬盘。

但如果你用 Git 管理 Vault,图片就会进入另一个问题域。

Git 很适合管理 Markdown 笔记。文字文件小、差异清晰、历史可追踪,多端同步也足够透明。

但 Git 并不适合无限堆图片。

一张截图可能比几十篇笔记还大。更麻烦的是,你删掉笔记里的图片引用以后,附件文件不一定会自动消失。时间久了,仓库里就会留下很多你已经不用、但仍然被 Git 跟踪的文件。

NotePic 最新版本的价值就在这里:它把“上传到 OSS”之后的清理动作接了起来。

一个更轻的流程可以变成:

  1. 在 Obsidian 里正常写作
  2. 图片先保留本地,不打断写作
  3. 发布前用 NotePic 上传到 OSS
  4. 确认笔记里的图片引用变成线上链接
  5. 扫描 Vault 里的本地图片
  6. 清理不再被引用的图片
  7. 再提交 Git

这样 Git 仓库里留下的主要是笔记内容和仍然需要保留的资产,而不是一堆上传后已经失去引用关系的本地图片。


清理图片时,安全比激进更重要

图片清理这件事,我不建议做得太激进。

因为“未引用”并不永远等于“可以马上删”。

有些图片可能暂时没有被当前 Markdown 引用,但你可能还想作为素材保留;有些图片可能被特殊插件、Canvas、HTML 片段或其他工作流使用;有些历史文章可能还没完成迁移。

所以 NotePic 最新版本的目标不是鼓励你一键盲删所有图片。图片清理不是为了追求“Vault 里没有本地图片”,而是为了让你知道哪些图片真的还需要留在本地。


写在最后

如果你只在本地看笔记,从不发布,也不用 Git 同步,可能暂时不需要这个功能。

但如果你已经在用 NotePic 上传图片,或者正在被 Obsidian 附件目录和 Git 仓库体积困扰,最新版本值得升级。

官网:luhuidev.com/NotePic-OSS/

这次功能来自真实使用场景和 GitHub Issue 反馈。如果你在清理本地图片时遇到特殊引用、误判场景、插件兼容问题,欢迎继续提 Issue。

http://www.jsqmd.com/news/1035978/

相关文章:

  • League Akari:英雄联盟玩家的智能数据分析与游戏优化工具箱
  • 5分钟快速上手:SQLyog社区版——完全免费的MySQL数据库管理神器
  • 【图像增强】基于Retinex模型和多尺度融合的低光照图像增强(含MSE)附Matlab代码
  • CodeWarrior寄存器详情窗口XML配置详解:提升嵌入式调试效率
  • 如何通过智能调度释放CPU性能:CPUDoc完整优化指南
  • i.MX平台Arm SystemReady IR ACS测试与Fedora/openSUSE安装实战指南
  • Ubuntu系统CUDA环境部署全攻略:从驱动到深度学习框架的避坑指南
  • Windows系统文件offfilt.dll丢失找不到问题解决
  • MyComputerManager技术深度解析:基于WPF的Windows注册表管理系统架构实践
  • 嵌入式DSP开发中G.726 ADPCM语音库的许可协议解读与合规集成实践
  • ZigBee Light Link调试集群数据结构与事件枚举深度解析
  • 一键预约,旧衣上门回收小程序上线:开发攻略
  • 5个超实用技巧:用PPTist在线免费制作专业演示文稿
  • 500mW齐纳二极管实战指南:从参数解读到选型设计
  • 深入解析P5040/P5020参考设计板:从硬件架构到系统启动的嵌入式开发实战
  • NXP JN516x MicroMAC API:超低功耗无线传感器节点的底层通信利器
  • ColdFire V2嵌入式开发:异常处理、指令时序与缓存优化全解析
  • 大家都觉得AI帮不了心理咨询行业,但我见过一个人改变了这个想法
  • 免费LLM API终极指南:快速获取20+大语言模型资源
  • Windows环境下Tomcat日志查看、分析与问题排查实战指南
  • MQX RTOS十年演进:从ColdFire到ARM Cortex的架构升级与实战解析
  • IEEE 802.15.4协议深度解析与NXP JN516x低功耗无线开发实战
  • 普通人用AI搞钱的核心逻辑:信息差、工具差与规模化
  • 青岛专业冷藏车司机招聘体验:包吃住与全链路保障实测 - 起跑123
  • AI写专著实用技巧:利用AI工具,20万字专著轻松完成!
  • ZigBee时间同步机制深度解析:从ZCL时间集群到工程实践
  • 文心5.0原生全模态架构解析:统一自回归与超稀疏专家模型
  • ZigBee PRO AF API实战:从端点管理到可靠通信的工程指南
  • 喂饱你的 RAG 系统:如何用 API 把企微对话重构成 AI 时代的“黄金语料”?
  • Microchip PowerTool 800实战指南:PS8XX BMS核心参数配置与校准全流程