alfred结合七牛实现快速插入markdown格式图片

详细过程可以访问:https://github.com/tiann/markdown-img-upload

问题修复

由于retina截屏的图片会放大,所以在markdown脚本里做了处理:有遇到缩放的会进行指定宽度大小。所以会插入<img 标签。但是这不符合markdown的图片方式,这里做了一下改进。将 计算后的size插入七牛的样式图片里就可以解决。

打开workflow的脚本修改保存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# coding: utf-8
from clipboard import get_paste_img_file
from upload import upload_qiniu
import util
import os
import subprocess
import sys
import time


if not os.path.exists(util.CONFIG_FILE):
util.generate_config_file()

config = util.read_config()
if not config:
util.notice('请先设置你的七牛图床信息')
util.open_with_editor(util.CONFIG_FILE)
sys.exit(0)

url = '%s/%s' % (config['url'], config['prefix'])
styleprefix = 'imageView2/2/w/'
stylesubfix = '/h/640/format/jpg/q/100|watermark/2/text/d3d3LmxpbGh1aS5jb20=/font/5b6u6L2v6ZuF6buR/fontsize/400/fill/Izk2OEM4Qw==/dissolve/100/gravity/SouthEast/dx/10/dy/10|imageslim'
mkdprefix='![图片]('
mkdsubfix=')'
img_file, need_format, format = get_paste_img_file()
if img_file:
# has image

# use time to generate a unique upload_file name, we can not use the tmp file name

upload_name = "%s.%s" % (int(time.time() * 1000), format)
if need_format:
size_str = subprocess.check_output('sips -g pixelWidth %s | tail -n1 | cut -d" " -f4' % img_file.name, shell=True)
size = int(size_str.strip()) / 2
#markdown_url = '<img src="%s/%s-1960" width="%d"/>' % (url, upload_name, size)

markdown_url = '%s%s/%s?%s%d%s%s' % (mkdprefix, url, upload_name, styleprefix, size, stylesubfix, mkdsubfix)
else:
markdown_url = '%s%s/%s-960%s' % (mkdprefix, url, upload_name, mkdsubfix)

# make it to clipboard
os.system("echo '%s' | pbcopy" % markdown_url)
os.system('osascript -e \'tell application "System Events" to keystroke "v" using command down\'')
upload_file = util.try_compress_png(img_file, format!='gif')
if not upload_qiniu(upload_file.name, upload_name): util.notice("上传图片到图床失败,请检查网络后重试")
else:
util.notice("剪切版里没有图片!")

上面是我修改后的脚本信息,修改的地方是:

1
markdown_url = '%s%s/%s?%s%d%s%s' % (mkdprefix, url, upload_name, styleprefix, size, stylesubfix, mkdsubfix)

注意这两个变量

1
2
styleprefix = 'imageView2/2/w/'  
stylesubfix ='/h/640/format/jpg/q/100|watermark/2/text/d3d3LmxpbGh1aS5jb20=/font/5b6u6L2v6ZuF6buR/fontsize/400/fill/Izk2OEM4Qw==/dissolve/100/gravity/SouthEast/dx/10/dy/10|imageslim'

根据自己的七牛图片拼装 markdown_url即可。我这里用的是通过改变七牛提供的链接图片 size 进行替换。
中间拼装计算好的原始图片size即变成正常大小。
既: styleprefix + size + stylesubfix