【干貨】Markdown最強(qiáng)最快貼圖方法

前言

Markdown作為現(xiàn)在比較流行的寫作工具(準(zhǔn)確地說是標(biāo)記語言),已被越來越多的人使用,很多主流的博客網(wǎng)站或?qū)懽髌脚_(tái)都支持這種寫作工具(比如,我最喜歡的簡(jiǎn)書),但是Markdown中的貼圖方法有些麻煩,因?yàn)镸arkdown是純文本工具,它不能像Word那樣通過插入的方式內(nèi)嵌進(jìn)去,盡管有些Markdwon軟件提供類似地插入功能,但是一旦本地圖片移動(dòng)到別的位置,圖片也無法顯示,而且不同地Markdown軟件對(duì)本地圖片的語法也有所區(qū)別,所以最可靠的辦法還是上傳到圖床上,通過圖床提供的圖片鏈接來插入圖片。但是,通過這種方式,你最少也需要三步:上傳圖片 -> 獲得鏈接 -> 粘貼鏈接,再加上你還要打開瀏覽器,在各種軟件之間切換,這種方式的效率極低,那有沒有一種類似ctrl+c -> ctrl+v的方式呢?當(dāng)然有,下面我就來告訴你。
如果你使用的是Mac的話,請(qǐng)參考這篇文章上提供的方法-簡(jiǎn)化markdown寫作中的貼圖流程;如果你使用的是Windows的話,請(qǐng)使用我下面介紹的方法。

前期工具準(zhǔn)備

  • Python(世界上最強(qiáng)大的腳本語言)

說到這里我不得不承認(rèn),要使用這種方法的話,你可能要會(huì)一點(diǎn)Python,至少要安裝了Python

  • AutoHotkey(Windows上最方便的腳本語言)+AutoHotkey.dll

AutoHotkey.dll是用來實(shí)現(xiàn)其他腳本語言對(duì)AutoHotkey的調(diào)用,你需要下載對(duì)應(yīng)于AutoHotKey版本的dll文件,然后將它放到windows/System32文件夾中
[AutoHotkey.dll]下載地址(https://github.com/xzonepiece/markdown-img-upload-windows/tree/master/Autohotkey.dll)

  • 七牛云賬號(hào)(該平臺(tái)提供注冊(cè)用戶免費(fèi)的10G空間)

但是,如果你只使用本地圖片的話,我告訴你一種插入本地圖片全宇宙最快的方法,只需要安裝AutoHotkey即可,具體方法往下翻

具體實(shí)現(xiàn)方法

  1. 注冊(cè)七牛云賬號(hào),獲得自己的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. 啟動(dòng)markdown_picture.ahk文件之后,我們就可以使用ctrl+alt+c -> ctr+v來插入圖片
  • 選中一個(gè)圖片文件,按下ctrl+alt+c,這時(shí)候會(huì)跳出cmd窗口,你不需要理會(huì)它,等該窗口自動(dòng)關(guān)閉之后,你就可以使用ctr+v獲得一條Markdown插入圖片的語句,就這么簡(jiǎn)單!!!
  • 你還可以給AutoHotkey腳本添加一個(gè)好看的圖標(biāo)喲,詳見我的Github

本地圖片最快貼圖方法

如果你不想使用這么麻煩的方法、只使用本地圖片的話,請(qǐng)務(wù)必要使用AutoHotkey,再結(jié)合我下面提供的AutoHotkey腳本,可以最快地插入本地圖片(上面的方法因?yàn)橐蟼鲌D片,所以獲得圖片鏈接會(huì)有些慢,取決于你的圖片大小和網(wǎng)絡(luò)狀況,當(dāng)然,你也可以將上傳圖片和獲得鏈接地址分開執(zhí)行,這樣速度也極快,具體方法自己可以去試試看)

在安裝好AutoHotkey之后,新建一個(gè)空白的txt文檔,然后粘貼下面的語句:

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

將文檔的后綴改成ahk,最后雙擊該文件執(zhí)行該AutoHotkey腳本。這時(shí)候你就可以ctrl+alt+c -> alt+v來插入本地圖片。

該方法獲得的圖片語法對(duì)sublime text3中的Markdown preview插件是支持的,但對(duì)于其他的Markdown軟件可能是無效的,請(qǐng)自己做適當(dāng)?shù)男薷摹?/p>

結(jié)語

現(xiàn)在,你點(diǎn)擊一張本地圖片文件,然后按ctrl+alt+c,再ctr+v粘貼到Markdown文檔中,這是不是就是你想要的呢?

順便提一下,七牛云還有一個(gè)超級(jí)強(qiáng)大的功能,在鏈接后面添加后綴可控制圖片大小

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容