一个能将你markdown文件里的图片从一个地方迁移到另外一个图床的PicGo插件。
- 这个插件既可以被用在 命令行 版本的PicGo里也可以用在 GUI 版本的PicGo里!
- 它迁移支持本地相对路径或者绝对路径的图片,也支持迁移远端URL的图片。
- 它支持 markdown 文件中 markdown 格式的图片链接以及 html 格式的图片链接。(从 v1.3.0 开始支持)
举个例子,我们手上有一个 test.md:


<!-- 从 v1.3.0 开始,支持 img 标签的图片链接迁移 -->
<img src="http://yyy.com/js.jpg" />如果你选择了 imgur 作为你的默认图床, 那么迁移过后:


<!-- 从 v1.3.0 开始,支持 img 标签的图片链接迁移 -->
<img src="http://i.imgur.com/xxxxx.jpg" />picgo-plugin-pic-migrater <= 1.2.2 需要 PicGo-GUI 版本 2.0.2 ~ 2.2.0, PicGo-Cli 版本 1.4.0 ~ 1.5.0-.
picgo-plugin-pic-migrater > 1.2.2 需要 PicGo-GUI 版本 2.3.0 ~ 目前最新开发版, PicGo-Cli 版本 1.5.0-alpha.1 ~ 目前最新alpha版本.
picgo install pic-migrater安装之后 pic-migrater 会注册一个叫做 migrate 的命令。
在插件设置页面搜索插件
使用之前请配置一下插件!
因为在迁移某个markdown文件里的图片之后会在同一个文件夹里生成一个新的markdown文件(防止原本文件丢失)。所以你要配置一下这个新的文件的文件名后缀。
picgo set plugin pic-migrater打开插件配置页面,找到pic-migrator的右下角配置按钮,点击配置。
新文件名的后缀
举个例子,如果你原本的文件名为 2019.md 并且你将 newFileSuffix 设置成 _new,那么迁移过后,将会生成一个叫做 2019_new.md 的新文件。
只包含
如果你配置了 include 字段,那么migrator只会迁移包含这个字段值的图片地址。
举个例子,如果你将 include 配置为 sinaimg.cn,那么migrator只会迁移那些URL或者路径里带有sinaimg.cn字符串的图片。
不包含
如果你配置了 exclude 字段,那么migrator将不会迁移包含这个字段值的图片地址。
举个例子,如果你将 exclude 配置为 sinaimg.cn,那么migrator不会迁移那些URL或者路径里带有sinaimg.cn字符串的图片。
从 v1.3.0 开始
如果你吧 oldContentWriteToNewFile 配置成 true,那么旧的文件内容将会写入新的文件中,而迁移的结果将会写入旧的文件中。
$ picgo migrate -h
Usage: migrate [options] <files...>
migrating pictures url from markdown files
Options:
-h, --help output usage information
Note:
You should configurate this plugin first!
picgo set plugin pic-migrater
Examples:
# migrate file or files
$ picgo migrate ./test.md ./test1.md
# migrate markdown files in folder
$ picgo migrate ./test/const { PicGo } = require('picgo')
const PluginMigrater = require('picgo-plugin-pic-migrater')
const picgo = new PicGo()
picgo.setConfig({
'picgo-plugin-pic-migrater': {
newFileSuffix: '_new',
include: '',
exclude: ''
}
})
const plugin = picgo.use(PluginMigrater)
plugin.migrateFiles(['/xxx/yyy.md']) // { total: number, success: number }感谢 @Moyf 提供了本插件最初的python版本的构想。



