在Markdown中快速插入超鏈接的Workflow

會(huì)用Markdown的同學(xué)都知道在Markdown中插入超鏈接的語法是:
[超鏈接文字](url)
要插入一個(gè)超鏈接我們需要敲四次按鍵,復(fù)制粘貼鏈接標(biāo)題和URL,不是很爽啊。

用知乎的富文本編輯器插入超鏈接時(shí),只需要在輸入框里粘貼URL,編輯器會(huì)自動(dòng)獲取這個(gè)URL的標(biāo)題,生成一個(gè)超鏈接,這個(gè)就超贊了呢。:D

為了更好地偷懶,今天花了點(diǎn)時(shí)間用Python寫了個(gè)workflow解決這個(gè)問題。

最短路徑:
1.CTRL+C復(fù)制URL,
2.workflow快捷鍵生成超鏈文本,
3.CTRL+V粘貼 [首頁-簡書](http://www.itdecent.cn)這樣的文本到Markdown編輯器。

問題的關(guān)鍵:
需要獲取到URL頁面里的<title>標(biāo)簽里的內(nèi)容,再拼接成markdown超鏈接。

本來想用bash里的curl、grep、sed完成獲取頁面、匹配title、再拼接的,畢竟不太擅長,就索性用Python寫了。

效果圖

制作方法:

Workflow結(jié)構(gòu)
熱鍵獲取剪貼板內(nèi)容
Python獲取文章標(biāo)題
判斷成功或失敗
設(shè)置通知文本

代碼很簡陋,將就看看。。。

import re,sys,urllib2

reload(sys)
sys.setdefaultencoding('utf-8')

def main():
    query = "{query}"
    regex_url = re.compile('[a-zA-z]+://[^\s]*')
    if regex_url.search(query) == None:
        query = 'error'
    else:
        try:
            response = urllib2.urlopen(query)
            webpage = response.read()
            regex_title = re.compile('(.*<title>)(.*)(</title>)')
            article_title = regex_title.search(webpage).group(2)
            if article_title is not None:
                markdownLink = '[{title}]({url})'.format(title=article_title, url=query)
                query = markdownLink
        except:
            query = 'error'

    sys.stdout.write(query)

if __name__ == '__main__':
    main()

目前還有一些缺陷:
1.可能對Https支持不太好;
2.也許文章的標(biāo)題會(huì)有亂碼的情況。

下載 鏈接: https://pan.baidu.com/s/1slbHOkd 密碼: ig45

如果覺得有用,您就點(diǎn)個(gè)紅心咯~

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

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

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