问题背景
在整理博客过程中,有时需要把博客当中的图片批量替换成更清晰或文件大小更小的图片,这时原有的图片不会被删除,而是被留在原本的目录下。这样的“未使用的图片”积攒的太多,会拖慢博客部署的速度,也会导致博客仓库占用空间膨胀。
例如:笔者在 技术科普
这一主题下写了一篇文章 技术科普/异体汉字成因及处理.md
,则该文章引用的所有图片都被放在与文章同名的 技术科普/异体汉字成因及处理
目录下。这一目录下有 1.png, 2.png, 3.png
等图片,其中我真正使用到的只有 3.png
。我希望批量删除 1.png, 2.png
等图片。
本文提供了以上问题的两种解决方案。对于需要一次对若干篇文章清除图片的用户,推荐使用方案二。
解决方案一:利用 Typora 的文件重命名机制
Typora 编辑器的重命名机制:在编辑器侧边栏的 Files 选项卡中对当前打开的文件进行重命名,操作成功后,文章内引用的图片会自动被移动到与新文件名同名的目录下。
- 编辑器中打开
技术科普/异体汉字成因及处理.md
后,侧边栏中灰色背景强调的文件是当前打开的文件; - 将
技术科普/异体汉字成因及处理.md
文件重命名为技术科普/异体汉字成因及处理-new.md
,则文件中引用的图片路径技术科普/异体汉字成因及处理/3.png
会被自动修改成技术科普/异体汉字成因及处理-new/3.png
,该图片也会自动被移动到新的目录中。 - 此时,旧的图片目录
技术科普/异体汉字成因及处理/
中已经不再有被文章引用的图片,可以直接删除整个目录。 - 最后,按照 2. 中的方法,将文章名重新改回
技术科普/异体汉字成因及处理.md
即可。
经过以上 4 个步骤,所有“未使用的图片”已经被清楚,而所有被引用的图片都会被保留。
该解决方案的弊端在于:当文件特别大(8000 字)且图片特别多(50 张)时,每次重命名耗时较长,建议采用解决方案二。
解决方案二:使用 python 脚本寻找并删除未使用的图片
该脚本文件放在任意位置,但要在 hexo 博客根目录下执行脚本。
1 |
|