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

《在Markdown中快速插入超链接的Workflow》

会用Markdown的同学都知道在Markdown中插入超链接的语法是:
[超链接文字](url)
要插入一个超链接我们需要敲四次按键,复制粘贴链接标题和URL,不是很爽啊。

用知乎的富文本编辑器插入超链接时,只需要在输入框里粘贴URL,编辑器会自动获取这个URL的标题,生成一个超链接,这个就超赞了呢。:D

为了更好地偷懒,今天花了点时间用Python写了个workflow解决这个问题。

最短路径:
1.CTRL+C复制URL,
2.workflow快捷键生成超链文本,
3.CTRL+V粘贴 [首页-简书](http://www.jianshu.com)这样的文本到Markdown编辑器。

问题的关键:
需要获取到URL页面里的<title>标签里的内容,再拼接成markdown超链接。

本来想用bash里的curl、grep、sed完成获取页面、匹配title、再拼接的,毕竟不太擅长,就索性用Python写了。

效果图

《在Markdown中快速插入超链接的Workflow》
《在Markdown中快速插入超链接的Workflow》

制作方法:

《在Markdown中快速插入超链接的Workflow》 Workflow结构
《在Markdown中快速插入超链接的Workflow》 热键获取剪贴板内容
《在Markdown中快速插入超链接的Workflow》 Python获取文章标题
《在Markdown中快速插入超链接的Workflow》 判断成功或失败
《在Markdown中快速插入超链接的Workflow》 设置通知文本

代码很简陋,将就看看。。。

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.也许文章的标题会有乱码的情况。

下载 链接: https://pan.baidu.com/s/1slbHOkd 密码: ig45

如果觉得有用,您就点个红心咯~

    原文作者:_CallMe靠谱叔
    原文地址: https://www.jianshu.com/p/8cb409327f01
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞