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
:
![](./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" />
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-migrater
Then 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-migrater
GUI
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.