美文网首页macOS/iOS自动化指南Alfred工具癖
在Markdown中快速插入超链接的Workflow

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

作者: _CallMe靠谱叔 | 来源:发表于2017-03-26 19:57 被阅读10371次

会用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写了。

效果图

制作方法:

Workflow结构 热键获取剪贴板内容 Python获取文章标题 判断成功或失败 设置通知文本

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

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

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

相关文章

网友评论

本文标题:在Markdown中快速插入超链接的Workflow

本文链接:https://www.haomeiwen.com/subject/fqikottx.html