大家好啊, 我是枣把儿!
最近写作比较多,而要发平台又好几个,插入图片的时候就很不方便。一开始我是白嫖掘金的图片地址,但是每个平台都会自动打个水印上去…
于是我又把之前写的命令行工具拿出来翻新了一些,加入了Sharp图片压缩、Picgo上传图床、markdown文件内容替换这三大内容,极大的改善了我的发文体验,并且感觉在日常中也比较实用。和大家分享一下~
-
国际化文件翻译 - translate
- 目前用于公司内部批量翻译国际化文件, 所以需要遵循一定的规则
- 基于百度翻译, 需要自定义自己的appId和key
- 支持指定单个文件翻译
- 支持指定文件夹, 批量翻译所有文件
-
压缩文件 - tiny
- 基于sharp, sharp支持的文件都可以压缩
- 输出目录: 所有参数下, 压缩后文件都会输出到同级目录中
- 输出时显示大小及压缩比例
如: ✔ 190.4 KB => 115.2 KB (↓39.52%)【 demo1-zz-tiny-1702631665830.gif 】 - 支持自定义名称输出 --name=xxx.png
- 支持自定义压缩质量 --quality=70 (1-100)
- 支持单个文件压缩 --file=xxx.png
- 支持批量文件压缩
- 指定文件夹 --dir=https://blog.csdn.net/Gnak75/article/details/demo (基于当前命令运行的目录)
- 支持相对路径
- 支持绝对路径
- 指定文件名 --condition=abc
- 模糊匹配 所有包含abc且支持的文件类型都会被压缩
- 如果没有指定–dir , 则–condition会在当前目录下查找
- 模糊匹配到的内容, 会标红处理
- 若批量压缩时, 指定了name(第四条), 则自定义名称后会自动拼接一个序号, 避免覆盖
- 指定文件夹 --dir=https://blog.csdn.net/Gnak75/article/details/demo (基于当前命令运行的目录)
- 支持和picgo联动, 压缩完后直接上传到图床
- 需要先安装picgo, 启动, 并配置好图床配置
- 限制文件大小, 超过 max 的文件不会被上传
-
通过 Picgo 上传到图床 - picgo
- 支持指定文件 -f 上传
- 支持指定文件夹 -d 批量上传全部
- 支持限制大小 -m 默认只上传60kb以内的图片
- 支持模糊匹配 -co 文件名中含有co的图片, 且满足大小限制, 都会被上传
-
究极联动: tiny压缩 -> 自动传给picgo -> 自动把obsidian里的本地图片链接替换为上传后的url
先安装sharp的两个前置依赖包。@img/sharp-darwin-arm64@0.33.0 、 @img/sharp-win32-x64@0.33.0
我的系统是macos M2,所以需要安装@img/sharp-darwin-arm64
windows10/11 (win32-x64)用户请安装 @img/sharp-win32-x64@0.33.0
然后安装工具本体
运行 -h 看看是否成功
使用help命令查看所有支持的功能
压缩功能演示:
- 指定目录压缩,并指定名称输出
PicGo在版本开始内置了一个小型的服务器,用于接收来自其他应用的HTTP请求来上传图片。
默认监听地址: ,默认监听端口:
以POST请求去上传
- method:
- url: (此处以默认配置为例)
- request body: 必须是JSON格式
返回的数据:
所以此功能通过Http请求的方式调用Picgo Server, 所以需要本地已经安装并启动Picgo, 并已经配置好了图床
如果使用picgo-core的话,手动配置json文件我觉得更痛苦一些。所以还是基于已经有了Picgo客户端的情况下,简化一些流程
使用help命令查看所有支持的功能
上传文件夹内所有大小符合限制的图片文件
上传所有名称中含有指定文字且大小符合限制的图片文件。没有匹配到会有提示
在tiny命令后使用–picgo 开启压缩后调用picgo
- 压缩单个图片文件 并 通过picgo上传 (这里也校验了max)
- 压缩文件夹内所有图片文件,并通过picgo上传所有符合大小限制的图片文件
- 压缩文件夹内名称含有指定文字的,且符合大小限制的图片,并通过picgo上传
- 压缩文件夹内名称含有指定文字的,且符合大小限制的图片,并指定输出的文件名,并通过picgo上传
压缩 => 上传 => 自动替换markdown图片链接
此命令目前支持替换Obsidian里的Wiki链接, 即
如下图所示:
被压缩的图片里只要有demo2.png 就会替换成demo2.png压缩后的,上传到图床的url。
替换为
当我截图后粘贴到md中时显示如下:
在粘贴图片时,文件存放路径配置:
在目录中展示为:
ok,以上就是我的obsidian配置,及我是如何使用zzoffduty-cli的全部内容!
然后直接复制,粘贴到各大平台即可!
提高兼容性!
- 准备把文本替换功能抽离出来,现在只是满足了自己的需求。
- 可以再加一个掘金文章里用的图片缩放功能,或者自定义replace函数、正则表达式等。
- 收集更多其他人日常使用方式,融合进来
这是一个我在为了简化日常工作和生活中一些复杂的、繁琐的、可联动的操作而开发的命令行工具,是一个纯粹为了效率的实用工具。
后续随着我自己的使用或其他人的反馈,我会加入更多的功能把它一步步的完善。同时一些适合可视化操作的功能,也会拆成web、客户端、小程序等形态,都是我的"预备摊位"!!
如果你对这个产品感兴趣或者有好的功能建议要告诉我,代码在Github,也欢迎关注公众号:早早集市