美文网首页「河许人」Autohotkey
Markdown插入图片的便捷方式

Markdown插入图片的便捷方式

作者: csmijo | 来源:发表于2017-03-23 19:41 被阅读1301次

Markdown

1. 前言

最近一直在使用 Markdown 写文档,但是其中贴图真是太麻烦了,于是就想着能不能有什么好的方法来解决,Google,发现了网上已经有一些前辈写好的教程了,我主要参考了这两篇博客的内容:

但是在直接使用时并不是那么一帆风顺,遇到了各种不成功的情況,然后我就自己调试,摸索了一下,终于成功了。现在将大概的过程记录一下,希望能提供一下参考价值,不至于他人遇到同样的坑。

2. 前期准备工具

1. python

推荐使用 python3.x

本人的python水平为初级入门,在爬坑的过程中发现在Windows环境下 python2.x 对图片路径中含有中文的情况会报错,还需要特别处理一下编码问题。我Google了半天,没有搞定(水平太次,请勿嘲笑)。然后使用 python3.x 版本发现可以很好的解决中文 路径错误的问题,所以就果断使用了python3.x版本。

我本地的python版本为: python2.7.10python 3.5.3

2. AutoHotKey + AutoHotKey.dll

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

注意:这里AutoHotKey要选择和自己操作系统相匹配的版本。

3. 七牛云账号

实名认证后该平台提供注册用户免费的10G空间;如果没有认证,则有1G的免费空间可以使用。

3. 具体实现

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

说明:

  1. AKSK 在七牛云的 个人中心 --> 密钥管理 中可以看到

  2. 资源主页 --> 七牛官方资源 --> 对象存储 --> 立即添加 就可以添加存储空间

  3. 完成空间添加后,空间名称 就是你填写的空间的名称

  4. 域名地址在你创建空间的 内容管理 可以看到外链默认域名

  5. 安装七牛云的python SDK,参考七牛云的 Python SDK 使用指南

    可以通过 pip 或者 easy_install 直接安装,也可以 使用源码安装。

    这里我使用的是源码安装,这样可以安装到不同的python版本,另一个原因是我本地没有pip(又要被嘲笑了)。

  6. 编写 Python 脚本文件 upload_qiniu.py
    这里修改上面两篇参考文献中的内容,略有不同。。
    ps: 下面Python的对其格式有问题,如果直接复制,请调整一下格式。

         #! /usr/bin/python
         #-*- coding: utf-8 -*-
    
         from qiniu import Auth, put_file, etag, urlsafe_base64_encode
         import qiniu.config
         from qiniu import BucketManager
         import sys,time
         import os
         import time
    
         # you need get yours msg here
         access_key = "xxx"    # 填入你的 AK
         secret_key =  "xxx"  # 填入你的 SK
         bucket_name =  "xxx"    # 填入你的七牛空间名称
         bucket_url =  "xxx"   # 填入你的域名地址
    
         img_suffix = ["jpg", "jpeg", "png", "bmp", "gif"]   # 支持多种图片格式
    
        def upload_img(bucket_name,file_name,file_path):
            # generate token
            token = q.upload_token(bucket_name, file_name, 3600)
            info = put_file(token, file_name, file_path)
            # delete local imgFile
            # os.remove(file_path)
            return
    
        def get_img_url(bucket_url,file_name):
            # ?imageMogr2/thumbnail/!65p
            # file_names = file_name + '?imageMogr2/thumbnail/!75p'
            file_names = file_name + '?'+ time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
            img_url = 'http://%s/%s' % (bucket_url,file_names)
            # generate md_url
            md_url = "![](%s)\n" % (file_name, img_url)
            return md_url
    
        # save to clipboard
       def addToClipBoard(bucket_url,file_name):
           text = get_img_url(bucket_url,file_name)
           command = 'echo ' + text.strip() + '| clip'
           os.system(command)
    
     if __name__ == '__main__':
           q = Auth(access_key, secret_key)
           bucket = BucketManager(q)
           img = sys.argv[1]
    
           # name for img with local time
           up_filename = os.path.split(img)[1]
           upload_img(bucket_name,up_filename,img)
           addToClipBoard(bucket_url,up_filename)
    
  7. 编写 AutoHotKey脚本文件 markdown_picture.ahk

    ;将图片上传至七牛云,并获得图片地址
    ^!c::
    send, ^c
    clipwait
    Run %comspec%  /k "python *替换成upload_qiniu.py文件的地址* %Clipboard%"
    

    为了防止疑惑,这里给出一个 Windows 环境下示例:

    ;将图片上传至七牛云,并获得图片地址
    ^!c::
    send, ^c
    clipwait
    Run %comspec%  /c "python D:\program\qiniu-python-sdk\upload_qiniu.py %Clipboard%"
    

    这里也稍微修改了参考文献中的内容,因为在我本地运行时原来的脚本执行不成功。

    其中,第五行的“/k” 表示命令执行完成之后,cmd窗口不消失,这样可以方便调试,如果出错了可以看到错误信息;如果希望窗口自动关闭,可以将这个参数设置为“/c”

  8. 启动markdown_picture.ahk 后,我们就可以使用 ctrl + alt + c --> ctrl + v 来插入图片了。

    选中一个图片文件,按下ctrl + alt + c,这时候会跳出cmd窗口,如果没有错误,你就可以使用ctr + v来插入图片的七牛云的网络链接,就这么简单!!!


[参考文献]

相关文章

  • Markdown插入图片的便捷方式

    Markdown 1. 前言 最近一直在使用 Markdown 写文档,但是其中贴图真是太麻烦了,于是就想着能不能...

  • JasonFF 静态博客的一些总结

    一、将 markdown 编译为json格式 图片插入的解决方案如果按照markdown的语法进入插入图片,显得太...

  • 测试markdown插入图片

    插入图片 方法:直接将图片拖拽到简书的markDown编辑框,它会自动生成插入图片的markDown语法,并有一个...

  • 2018-10-12 今日份 Markdown写作

    Markdown写作 -标题-列表-插入链接 Markdown写作-插入图片 -引用 刘总这个引用怎么不...

  • Markdown插入图片方法之 - Base64

    Markdown插入图片方法之 - Base64 在markdown中使用图片的常用方法: 使用本地图片[图片上传...

  • md语言的使用

    插入图片 在 Markdown 中,插入图片不需要其他按钮,你只需要使用![] (图片地址) 插入引用 插入链接和...

  • Markdown插入图片

    markdown在文字中嵌入图片,使用如下方式

  • Markdown 插入图片

    图片的语法和链接很像。Title 是可选项。alt text 是替换文本;alt 属性规定在图像无法显示时的替代文...

  • Markdown:插入图片

    用markdown插入图片![](图片的链接地址) 网页上的图片找到图片Copy Image Address 搜索...

  • Markdown插入图片

    http://willcoder.gitee.io/img_bed/img/myTest/test1.jpg ![...

网友评论

    本文标题:Markdown插入图片的便捷方式

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