Coder Social home page Coder Social logo

markdown-img-upload's Introduction

markdown图片实用工具

这是一个方便的图片上传实用工具,可以方便, 快速地把一张图片上传然后得到一个图片链接:

  1. 极速截图转图片链接
  2. 极速本地图片转图片链接
  3. 极速网络图片转自定义图片链接

图片上传到图床之后,会自动把上传返回的链接放置到系统剪切版上,同时它对markdown格式有特殊的支持;整个过程只需要两步:

  1. 截图/复制本地图片/复制网络图片链接
  2. 快捷键 cmd + ctrl + v 进行上传

上传完成之后,返回的图片链接自动放入到系统剪切版中,可以直接使用cmd + V 使用。

预览

  1. 极速截图转图片链接

  1. 极速本地图片转图片链接

本地图片转图片链接

特性

  • 直接将图片粘贴为markdown支持的图片链接
  • 支持retina的截图处理,在非retina的显示器上不会变大
  • 自动图片上传,失败通知栏通知
  • 支持多种截图格式,压缩过大图片
  • 方便的图片上传工具

使用前准备

安装依赖

由于七牛SDK使用了requests库进行网络请求,所以,首先得安装python的requests;推荐使用pip进行安装。

注意:是requests库,而不是request库,安装错误则无法正常使用。

获取七牛图床信息

注册七牛

选择使用七牛的图床,没有账号的话先注册;

新建图床

注册成功之后登陆,先新建一个图床:在左上角选择新建空间

记下这个名字,比如:booluimg

图床访问地址

新建空间之后,进入空间设置,点击左边的域名设置,记下你的图床对外的域名:

图床的Ak和SK

要使用七牛SDK来访问图床,需要拿到图床的Access Key以及Secret Key;点击右上角你的用户名,选择账号设置:

然后,点击左边的密钥就可以看到你的AK以及SK

配置

安装 Alfred 工作流

  • 首先请确认request库安装成功;
  • 然后下载并导入项目目录中的 Alfred 工作流文件;
  • 设置触发热键!,如Cmd + Ctrl + V,注意保证不要与其他软件的热键冲突。

配置图床

在前面,图床的信息拿到之后,在 alfred 里面输入mdimgsetup,就会弹出一个文本文档,如下:

设置你的七牛图床的信息,AK,SK是访问密钥,url是上面配置的图床访问地址,bucket是空间名字,prefix是图床上传的前缀,这个可以随意配置,作为分类使用,比如我的是 markdown。

使用

通过截图上传

使用任意截图工具截图之后,在任意编辑器里面你需要插入markdown格式图片的地方,按下cmd + ctrl + V即可!

另外,markdwon里面的图片链接不是标准的markdown格式,而是html的img标签;这是因为在retina屏幕下截图的话,如果不做任何处理,在非retina屏幕下面,这个图片会直接扩大两倍,非常粗糙难看;因此,需要保存图片显示大小的信息,保证截图大小和显示大小一致;这里使用mac系统自带的sips工具拿到截图大小,然后直接把宽度放在img标签里面。这样在显示的时候,可以保证是和截图时大小一致。

通过本地图片上传

如果你已经有一张图片了,希望上传到图床得到一个链接;通常的方式需要图床客户端或者浏览器插件,通过这个alfred插件:

直接复制本地图片,然后按下cmd + ctrl + v 就能得到图床的链接!

TODO

  1. 支持剪切版里面的文本格式的图片链接先下载然后上传到图床
  2. 如果复制的直接时图片文件,能直接上传生成URL.
  3. 图片过大时自动压缩
  4. qq截图的tiff格式暂时有bug
  5. 临时文件夹不使用/tmp 用TempFile解决。

markdown-img-upload's People

Contributors

lin07ux avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

markdown-img-upload's Issues

alfred debug模式下报错

[ERROR: alfred.workflow.action.script] Traceback (most recent call last):
File "", line 3, in
File "upload.py", line 4, in
from qiniu import Auth, put_file
File "qiniu/init.py", line 14, in
from .auth import Auth
File "qiniu/auth.py", line 7, in
from requests.auth import AuthBase
ImportError: No module named requests.auth

我按照文档配置了环境,可是按快捷键时,出现ImportError: No module named requests.auth

首先requests模块应该安装的没问题,因为我在python命令下载执行from requests.auth import AuthBase是可以导入的,没报错

完整错误信息如下:

[ERROR: action.script] Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "upload.py", line 4, in <module>
    from qiniu import Auth, put_file
  File "qiniu/__init__.py", line 14, in <module>
    from .auth import Auth
  File "qiniu/auth.py", line 7, in <module>
    from requests.auth import AuthBase
ImportError: No module named requests.auth

但是手动执行upload.py没有任何错误,同时也没有上传剪贴板的图片,希望能给看看这是什么问题,谢了

alfred 报 global name 'png_file' is not defined 错误

[ERROR: alfred.workflow.action.script] Traceback (most recent call last):
File "", line 21, in
File "clipboard.py", line 69, in get_paste_img_file
_convert_to_png(tmp_clipboard_img_file.name, png_file.name)
NameError: global name 'png_file' is not defined

求requirements

如题,我本地跑找不到AppKit下的NSPasteboard之类的

剪切板里没有图片

按照步骤修改了 config.ini 里面的内容,在 MacDown 里使用快捷键粘贴的时候提示剪切板里 没有图片

url upload support

when the clipboard contains a url which stand for an image, you can use cmd + ctrl + v upload it too.

无效,没有任何错误提示

装好了以后,我自定义了快捷键,发现什么都没有发生,然后又定义了热键,也没有作用.
求看下~

生成的链接不带协议

eg:
生成出来的链接是: 7xpprt.com1.z0.glb.clouddn.com/keka/1458293292335.png
是否可以默认加上 http://

jpg图片被更改为png

clipboard.py把拷贝的jpg图片强制性转换成了png图片,不知道出于什么考虑,可以去掉covert_to_png吧

Alfred调试报错

[2017-02-19 17:26:51][trigger.hotkey] Processing output of 'action.script' with arg ''
[2017-02-19 17:26:51][ERROR: action.script] Traceback (most recent call last):
File "", line 3, in
File "upload.py", line 4, in
from qiniu import Auth, put_file
File "qiniu/init.py", line 14, in
from .auth import Auth, QiniuMacAuth
File "qiniu/auth.py", line 7, in
from requests.auth import AuthBase
ImportError: No module named requests.auth

请大神帮忙解决,我的requests库已经安装,且使用SDK做Test的时候可以成功上传,谢谢!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.