Markdown贴图工具,支持通过快捷键将剪切板中的图片上传到图床,并粘贴带图片链接的Markdown文本。
程序只支持 Windows x64 平台,并且需要安装 Powershell(一般 Windows 10 都会自带)。
-
下载release版本 markdown-image-tool.zip 并解压,如下图所示:
-
其中:
- AutoHotKey.exe 为主程序,打开即可使用
- config.jsonc 为配置文件
- markdown-image-tool.exe 为图片上传工具
工具的工作流程是这样的:
- 获取剪切板中的图片
- 根据配置生成文件名
cloudFileName - 上传文件,云存储中的文件名就是生成的
cloudFileName - 粘贴

-
accessKey、secreKey:用于生成七牛云的上传凭证。可以访问 https://portal.qiniu.com/user/key 登录后查看。
-
bucket:存储空间的名称:可以访问 https://portal.qiniu.com/kodo/bucket 查看(如果没有空间需要新建空间)。
-
urlPrefix:输出链接的前缀,如:生成文件名为
fileName,urlPrefix为http://domain.com/,则最后粘贴为:。故一般填写空间域名。 -
urlSuffix:输出链接的后缀,如:生成文件名为
fileName,urlPrefix为http://domain.com/,urlSuffix为?imageView2/1/w/200/h/200,则最后粘贴为:。因此可以用于对添加对图片处理的参数。 具体可以查看 七牛图片处理接口文档、样式分割符
- 复制截图/本地文件
- Ctrl + B
当出现问题时会粘贴出错误问题,可以据此判断是什么问题,格式如下:
{
"msg": "错误信息概要",
"err": "详细错误信息"
}- 配置文件
config.jsonc不存在或格式错误,配置文件必须和markdown-image-tool.exe处于同一目录下。 markdown-image-tool.exe无权限访问config.jsonc,可以使用管理员身份打开markdown-image-tool.exe,或者将config.jsonc设置为所有用户可读。
config.jsonc配置有问题,需要检查accessKey、secretKey和bucket有没有配置正确。- 网络问题
其它问题可以提issue
-
win + r打开运行,然后输入%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup打开Startup文件夹。 -
把
AutoHotkey复制快捷方式到Startup文件夹。 -
如果需要关闭自启动,可以把复制进来的快捷方式删除,或者在任务管理器的启动中禁用。
markdown-image-tool.exe 使用 node js 编写,并使用 pkg 打包成 exe 文件。通过执行 powershell 获取剪切板内容,如果为图片,则使用 qiniu SDK 上传图片。
AutoHotKey.exe 为 AutoHotKey.ahk 编译而来,当按下 ctrl+b 时会调用 markdown-image-tool.exe。
- 下载源代码
git clone https://github.com/CheckCoder/markdown-image-tool.git - 切换目录
cd markdown-image-tool - 安装依赖
npm install - 运行
node markdown-image-tool.js - 打包
pkg markdown-image-tool.js -t node14-win-x64 - 若想要修改快捷键可以修改
AutoHotKey.ahk文件并重新编译
- AutoHotKey AutoHotkey 是 Windows 上免费开源的脚本语言,可以轻松地为各种任务创建小型到复杂的脚本。
- qimage-win 实现过程中这个项目给了我很大的启发。
- img-clipboard-dump 使用 powershell 从剪切板中获取图片。
Copyright (c) 2021 CheckCoder
{ "cloud": "qiniu", // 云存储类型,目前仅支持 qiniu "cloudFileName": { // 存放在云端文件名 "type": "md5", // 命名规则,目前仅支持 md5 "prefix": "", // 文件名前缀 "suffix": "" // 文件名后缀 }, "qiniu": { // qiniu 存储配置 "accessKey": "", // 密钥 AccessKey "secretKey": "", // 密钥 SecretKey "bucket": "", // 存储空间名 "urlPrefix": "http://yourdomain.com/", // 输出链接的前缀 "urlSuffix": "" // 输出链接的后缀 } }