picgo-plugin-pic-migrater v1.3.2
picgo-plugin-pic-migrater
A PicGo plugin for pictures in markdown files migrating from one picBed to another one.
Features
- This plugin can be used in CLI & GUI version of PicGo!
- It supports absolute and relative path of images, and the url path of images.
- It supports both markdown format and html format image url in markdown file. (Since v1.3.0)
For example, a test.md:


<!-- since v1.3.0, support migrating img src -->
<img src="http://yyy.com/js.jpg" />if you choose imgur as your migrated picBed, after migrating:


<!-- since v1.3.0, support migrating img src -->
<img src="http://i.imgur.com/xxxxx.jpg" />Version required
picgo-plugin-pic-migrater <= 1.2.2 requires PicGo-GUI version 2.0.2 ~ 2.2.0, PicGo-Cli version 1.4.0 ~ 1.5.0-.
picgo-plugin-pic-migrater > 1.2.2 requires PicGo-GUI version 2.3.0 ~ latest beta, PicGo-Cli version 1.5.0-alpha.1 ~ latest alpha.
Installation
CLI
picgo install pic-migraterThen pic-migrater will registe a command named migrate.
GUI
search for pic-migrater

Configuration
Please configurate this plugin first!
After migrating, a new markdown file will be written in the same folder. So you should configurate this new file name's suffix first.
CLI
picgo set plugin pic-migraterGUI
Open the setting page in the menu of the plugin.

Details
newFileSuffix

For example, if your origin file named 2019.md & if you set the newFileSuffix to _new, then after migrating, a new file named 2019_new.md will be created.
include
If you set the include configuration then migrator will only migrate the files' path or url which match the include.
For example, if your set the include to sinaimg.cn, then migrator will only migrate the url or path includes sinaimg.cn.
exclude
If you set the exclude configuration then migrator will only migrate the files' path or url which don't match the exclude.
For example, if your set the exclude to sinaimg.cn, then migrator will only migrate the url or path doesn't includes sinaimg.cn.
oldContentWriteToNewFile
Since v1.3.0
If you set the oldContentWriteToNewFile to true, then the old content will be written to the new file and the migrated content will be written to the old file.
Usage
CLI
$ 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/GUI

Node.js Project(v1.2.3+)
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 = PluginMigrater(picgo)
plugin.migrateFiles(['/xxx/yyy.md']) // { total: number, success: number }Thanks
Thanks to @Moyf with the python version of this plugin.