本人一直使用 Joplin+Typora+PicGo+Chevereto层层套娃来写东西, 实现自动上传图片到个人图床,
写完后CC+CV上传到博客, 还可以使用 Joplin 的手机APP 进行同步查看笔记。
Joplin负责多端同步,还可以调用Typora进行markdown编辑,而picgo负责自动上传图片到Chevereto图床。但是套娃多了就感觉很臃肿,下面这个方法就可以少安装一个PicGo,这样电脑上只要安装 Joplin+Typora就可以了,而Chevereto图床一直运行在我的电视盒子上。。。
Chevereto源码修改
- 将网站根目录下
/app/routes/route.api.php
复制到同目录下的/overrides
文件夹内。该步骤使得复制后的文件在不替换的情况下更新,既保存源文件,又使修改后的代码能在源代码保留的情况下运行。 - 修改
/overrides/route.api.php
源代码如下所示,该步骤将接受来自客户端的用户名和相册ID
参数,避免上传至访客相册。 - 网上大多数的解决方案写死了用户名和相册,这里修改成了可传参数,较之更加灵活。
$version = $handler->request[0];
$action = $handler->request[1];
$user = $_REQUEST['user']; // 新增
$album = $_REQUEST['album']; //新增
///////////////////分割线//////////////////////////
// CHV\Image::uploadToWebsite($source, 'username', [params]) to inject API uploads to a given username
$uploaded_id = CHV\Image::uploadToWebsite($source, $user, array('album_id'=>$album)); //修改
PicGo-Core下载及插件安装
下载安装PicGo-Core
时有以下几点需要注意,作者在此步骤绕了很多弯路,希望后来者能一切顺利。
PicG-Core
的命令行模式在需要上传图片时才会启用一个进程,且不需要安装PicGo
软件占用电脑空间,对于强迫症患者来说这是最佳选择。PicGo-Core
和下面的上传插件的下载是需要通过npm
来下载,因此需要Node.JS
环境的支持,但是安装完核心及插件之后Node.JS
非必须,可以卸载。
核心及插件具体步骤:
-
在
Typora
的“上传服务设定”中选择PicGo-Core(command line)
,然后点击“下载或更新“安装核心文件。 -
将核心文件
picgo.exe
的安装目录添加到系统环境变量,保证可以在cmd
命令行中可以直接使用picgo
命令运行程序。安装目录一般为C:\Users\[用户名]\AppData\Roaming\Typora\picgo\win64
添加系统环境变量方法看下图: -
启动
cmd
,输入picgo install web-uploader
安装上传插件,此插件适用于私人服务器图床,当然如果需要使用码云、GitHub
等仓库作为图床,这里下载对应的插件即可。
PicGo-Commande配置文件修改
单击“打开配置文件”,修改成以下代码,保存即可。
注意下面代码里的
key user url album_id
()需要修改成你自己的。
{
"picBed": {
"uploader": "web-uploader",
"current": "web-uploader",
"transformer": "path",
"web-uploader": {
"customBody": "{\"key\":\"xxxxxxxxxxxxxxxxxxx\", \"user\":\"xxxxxx\", \"album\":\"xx\"}",
"customHeader": null,
"jsonPath": "image.url",
"paramName": "source",
"url": "https://www.xxx.xxx:xxxx/api/1/upload"
}
},
"picgoPlugins": {
"picgo-plugin-web-uploader": true
}
}
其中album_id查看方法:
打开chevereto进入后台,点击进入相册
评论区