【干货】Markdown最强最快贴图方法

前言

Markdown作为现在比较流行的写作工具(准确地说是标记语言),已被越来越多的人使用,很多主流的博客网站或写作平台都支持这种写作工具(比如,我最喜欢的简书),但是Markdown中的贴图方法有些麻烦,因为Markdown是纯文本工具,它不能像Word那样通过插入的方式内嵌进去,尽管有些Markdwon软件提供类似地插入功能,但是一旦本地图片移动到别的位置,图片也无法显示,而且不同地Markdown软件对本地图片的语法也有所区别,所以最可靠的办法还是上传到图床上,通过图床提供的图片链接来插入图片。但是,通过这种方式,你最少也需要三步:上传图片 -> 获得链接 -> 粘贴链接,再加上你还要打开浏览器,在各种软件之间切换,这种方式的效率极低,那有没有一种类似ctrl+c -> ctrl+v的方式呢?当然有,下面我就来告诉你。
如果你使用的是Mac的话,请参考这篇文章上提供的方法-简化markdown写作中的贴图流程;如果你使用的是Windows的话,请使用我下面介绍的方法。

前期工具准备

  • Python(世界上最强大的脚本语言)

说到这里我不得不承认,要使用这种方法的话,你可能要会一点Python,至少要安装了Python

  • AutoHotkey(Windows上最方便的脚本语言)+AutoHotkey.dll

AutoHotkey.dll是用来实现其他脚本语言对AutoHotkey的调用,你需要下载对应于AutoHotKey版本的dll文件,然后将它放到windows/System32文件夹中
[AutoHotkey.dll]下载地址(https://github.com/xzonepiece/markdown-img-upload-windows/tree/master/Autohotkey.dll)

  • 七牛云账号(该平台提供注册用户免费的10G空间)

但是,如果你只使用本地图片的话,我告诉你一种插入本地图片全宇宙最快的方法,只需要安装AutoHotkey即可,具体方法往下翻

具体实现方法

  1. 注册七牛云账号,获得自己的AK、SK、空间名称以及域名地址

  2. 安装七牛云的Python SDK,参考Python SDK 使用指南
    pip install qiniu

  3. 编写Python脚本文件upload_qiniu.py
    #-- coding: utf-8 --
    import os
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    from qiniu import Auth, put_file
    import qiniu.config
    from ctypes import *
    import time

        access_key = "xxx" # 填入你的AK
        secret_key = "xxx" # 填入你的SK
        bucket_name = "xxx" # 填入你的七牛空间名称
        url = "xxx" # 填入你的域名地址
    
        q = Auth(access_key, secret_key)
        mime_type = "image/jpeg"
        params = {'x:a': 'a'}
    
        def upload_qiniu(path):
            dirname, filename = os.path.split(path)
            key = '%s' % filename
            key = key.decode('gbk').encode('utf8')
            token = q.upload_token(bucket_name, key)
            progress_handler = lambda progress, total: progress
            ret, info = put_file(token, key, path, params, mime_type, progress_handler=progress_handler)
            return ret != None and ret['key'] == key
    
        if __name__ == '__main__':
            path = sys.argv[1]
            ret = upload_qiniu(path)
            if ret:
                name = os.path.split(path)[1]
                markdown_url = "![](%s/%s)" % (url, name)
                # make it to clipboard
                ahk = cdll.AutoHotkey # load AutoHotkey
                ahk.ahktextdll("") # start script in persistent mode (wait for action)
                while not ahk.ahkReady(): # Wait for AutoHotkey.dll to start
                    time.sleep(0.01)
                ahk.ahkExec(u"clipboard = %s" % markdown_url.decode('gbk'))
             else: print "upload_failed"
    
  4. 编写AutoHotkey脚本文件markdown_picture.ahk

;将图片上传至七牛云,并获得图片地址
^!c::
send, ^c
clipwait
Run %comspec%  /c "Python *替换成upload_qiniu.py文件的地址* %Clipboard%" /p
return
  1. 启动markdown_picture.ahk文件之后,我们就可以使用ctrl+alt+c -> ctr+v来插入图片
  • 选中一个图片文件,按下ctrl+alt+c,这时候会跳出cmd窗口,你不需要理会它,等该窗口自动关闭之后,你就可以使用ctr+v获得一条Markdown插入图片的语句,就这么简单!!!
  • 你还可以给AutoHotkey脚本添加一个好看的图标哟,详见我的Github

本地图片最快贴图方法

如果你不想使用这么麻烦的方法、只使用本地图片的话,请务必要使用AutoHotkey,再结合我下面提供的AutoHotkey脚本,可以最快地插入本地图片(上面的方法因为要上传图片,所以获得图片链接会有些慢,取决于你的图片大小和网络状况,当然,你也可以将上传图片和获得链接地址分开执行,这样速度也极快,具体方法自己可以去试试看)

在安装好AutoHotkey之后,新建一个空白的txt文档,然后粘贴下面的语句:

;将本地图片插入Markdown
^!c::
send, ^c
clipwait
clipboard = ![](%clipboard%)
return

将文档的后缀改成ahk,最后双击该文件执行该AutoHotkey脚本。这时候你就可以ctrl+alt+c -> alt+v来插入本地图片。

该方法获得的图片语法对sublime text3中的Markdown preview插件是支持的,但对于其他的Markdown软件可能是无效的,请自己做适当的修改。

结语

现在,你点击一张本地图片文件,然后按ctrl+alt+c,再ctr+v粘贴到Markdown文档中,这是不是就是你想要的呢?

顺便提一下,七牛云还有一个超级强大的功能,在链接后面添加后缀可控制图片大小

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容