A PicGo plugin for pictures in markdown files migrating from one picBed to another one.
For example, a test.md
:
![](./js.jpg)
![](http://xxx.com/js.jpg)
<!-- 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:
![](https://i.imgur.com/xxx.jpg)
![](https://i.imgur.com/xxxx.jpg)
<!-- since v1.3.0, support migrating img src -->
<img src="http://i.imgur.com/xxxxx.jpg" />
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
.
picgo install pic-migrater
Then pic-migrater
will registe a command named migrate
.
search for pic-migrater
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.
picgo set plugin pic-migrater
Open the setting page in the menu of the plugin.
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.
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
.
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
.
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.
$ 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 = PluginMigrater(picgo)
plugin.migrateFiles(['/xxx/yyy.md']) // { total: number, success: number }
Thanks to @Moyf with the python version of this plugin.