Markdown写作者的痛点
使用Markdown 可以有一种沉浸式写作体验。 Markdown 可以专注于文字本身,而不用去管文章的格式,发布渠道等等与写作本身无关的事情。
Markdown 是纯文本的格式,因此并不适合存储图片,Markdown中,图片相关的语法是 [GitHub](http://github.com)
,采用的是图片链接的方法,这就要求 要么使用已有链接的图片,要么自己得有一个图片服务器,当然你也可以壮士断腕,从不使用图片。
所以,Markdown 在提供沉浸式写作体验的同时,留下了一个小缺陷,这成为所有使用Markdown写作者的痛点。那就是如何在Markdown中插入图片。
如何解决
马克飞象从入门到放弃
有一段时间,我只用网上搜索到的图片,这样可以很方便的得到链接,也就暂时缓解了Markdown图片的问题。 后来需要自己写教程,文章中要有自己的截图,这就变得很麻烦,于是我找到了 马克飞象 这个编辑器,然后果断买了1年的会员, 使用马克飞象的时候,实在是太方便了,图片可以直接拖拽到编辑器中,就会自动上传到evernote上。
马克飞象的解决方案很好,然而当我需要将文章上传到各大平台的时候,图片的事情就非常难搞,因为evernote的图片,默认是不公开的。 于是使用了一段时间之后,我就放弃了马克飞象的方案。
iPic给我的灵感
iPic给我的感觉是眼前一亮,将图片拖拽到iPic小图标上,它就会帮你上传到图片服务器上,然后就可以得到一个图片链接,粘贴到Markdown里面,非常方便。 同时iPic还提供了Markdown 格式的链接,直接放在Markdown文档中就能使用,如果你是上传一个本地文件,则可以使用 ⌘ + U 快捷键来上传图片,然后复制一下链接即可。这太赞了。
iPic 是收费的,免费版支持使用微博的匿名图片上传, 缺点是微博会不定期删除这些图片,所以图片很快会失效。想要图片长久保存,就需要用到其他图床,比如七牛,又拍这些。 要用这些图床,就需要购买iPic 的收费版,一个月6块钱。 看起来也不贵。
第一次看到iPic觉得很惊艳,但是我静下心来想想,好像iPic也没做啥,就是帮助上传了一个图片,然后获得一个链接。 如果我自己手动上传到七牛,也是可以的嘛。 想到七牛也是提供命令行的,上传图片不就是一个条命令的事情么?所以,iPic 好像并没有看起来的那么神奇。
零代码,手工打造iPic
我想,既然有命令行工具,稍微做几个设置,应该就可以达到和iPic一样的效果。 最后的结果令我惊喜,比iPic 的体验还要更好。
强大的Automator
mac电脑提供了一个强大的自动化工具 Automator,我想可以用来做这个工具,当我搜索 automator + 七牛的时候,我发现已经有小伙伴实现了我的想法,具体步骤查看这个链接。
这篇教程写的非常不错,脚本也写的非常赞,自动做了url 转换(防止中文问题),还做了自动拷贝到剪贴板。
改进
在上面教程的基础上,我做了3点改进。而这三点改进,使得整个图片上传达到超过iPic的体验。
改进1:自动复制Markdown链接
因为我的图片大多数是在写Markdown时候用的,于是我索性将上传后的链接直接就写成markdown格式的,这样可以直接粘贴到Markdown 编辑器中(我用的是Typora)。
需要修改两行脚本
- 链接修改成
https://
开头
link="//static.domain.me/$(urlencode $Key)"
修改成
link="https://static.domain.me/$(urlencode $Key)"
- 剪贴板链接修改成markdown格式
echo -ne $links | pbcopy
修改成
echo -ne "![]($links)" | pbcopy
改进2: 键盘快捷键
默认使用automator 创建好的脚本,会出现在右击->服务的子菜单中,iPic提供了一个非常棒的快捷键组合 ⌘+U ,于是我用了这个快捷键。
设置方法:
打开“系统偏好设置” -> “键盘” -> "快捷键" -> "服务" , 找到刚刚用automator 创建的服务名称,我的名称是 “ 上传到七牛-markdown” , 然后将快捷键设置为 ⌘+U
, 同时取消iPic的快捷键,防止冲突。
改进3: 漂亮的通知
教程中使用的通知比较原始,我们希望有和iPic 一样的提醒,就和QQ,微信的提醒消息一样。
这可以通过Apple Script实现。 设置方法是在Automator中添加一个 “运行AppleScript” , 内容是
display notification "Markdown链接已自动复制" with title "图片上传成功" sound name "default"
标题和内容都可以自己定制,声音也可以自己定制,我使用的是默认声音 default, 其他声音可以在 /System/Library/Sounds
这个路径下找到。
最终效果预览
好了,这就是最终效果了,演示图片中我使用的是右击方式,实际在使用时可以使用 ⌘+U
快捷键。
其他问题
方案缺陷
这个方案唯一的缺陷就是不能自动上传剪贴板中的图片,所以在截图的时候,需要将图片保存到磁盘上。
七牛测试域名 1个月失效问题
七牛提供的测试域名1个月就失效了,通常是够用的 。 如果失效了,也不用担心,找到原始的markdown 文件,用下面的命令对文件做个替换即可(new.bkt.clouddn域名需要按照实际进行替换)。
sed -i "s#//.*bkt.clouddn#//new.bkt.clouddn#g" file.md
如果你怕麻烦,还可以买一个域名,然后备案,再绑定到七牛上面即可,这样就可以用自己的域名了。(好像备案是更麻烦的解决方案) 域名可以买一个便宜的,我买了一个top结尾的域名,1年才9块钱,续费也只要26.
Markdown编辑器推荐
推荐大家使用Typora 这个编辑器,非常贴心,还免费哦。
参考链接
利用七牛 qshell 和 Automator 打造快捷上传服务
How to fire Mac OS X notifications with AppleScript (and Scala)
Gif 动图使用 LICEcap