MarkDown中一键贴图 for Mac

来源:互联网 发布:网络综合布线施工要求 编辑:程序博客网 时间:2024/05/16 08:00

MarkDown中一键贴图 for Mac
@(Other)

今天发现CSDN博客支持Markdown编辑器,所以发一篇整理的文章。本文是根据几篇文章整理而成。可以大幅度简化Markdown文章写作时图片的插入操作,达到“一键贴图”。下面整理了一些我使用时的备忘录。

达到的效果为:
* 利用QQ截图或者其它工具将图片放到剪切板
* 在文本编辑框中,按下快捷键: control + command + v,会出现一个markdown格式的图片代码,例如![](http://test.com/abc.jpg)
* 此时图片可以被自动上传到七牛云存储。

来源文章:
使用七牛云存储和alfred的workflow简化markdown贴图流程
简化静态博客发图的Alfred工作流
QRSBOX同步工具

下载Alfred

官网
一些使用指南 By 池建强

注意必须使用带PowerPack的,即付费版

创建Alfred Workflow

  • 新建一个Workflow
  • 加个Hotkey的Triggers,写上自己熟悉的热键作为粘贴的热键使用:
  • 接下来要加一个Actions,来源文章中提到NSAppleScript有一些问题,使用了Run Script Action:
  • 双击Action,Language选择/usr/bin/osascript,把下面的代码粘贴到Script区域:
property fileTypes : {¬    {«class PNGf», ".png"}, ¬    {JPEG picture, ".jpg"}}on getType() --判断剪贴板中的数据类型,暂时只支持png和jpg,优先用png    repeat with aType in fileTypes        repeat with theInfo in (clipboard info)            if (first item of theInfo) is equal to (first item of aType) then return aType        end repeat    end repeat    return missing valueend getTypeset theType to getType()if theType is not missing value then    set filePath to "/Users/rk/Documents/blog/source/img/qnsync/" --这里换成你自己放置图片的路径    set fileName to do shell script "date \"+%Y%m%d%H%M%S\" | md5" --用当前时间的md5值做文件名    if fileName does not end with (second item of theType) then set fileName to (fileName & second item of theType as text)    set markdownUrl to "![](http://rk-blog.qiniudn.com/" & fileName & ")" --这里如果没有用到图床,就把前面前缀去掉,用到的话换成你自己图床的url    set filePath to filePath & fileName    try        set imageFile to (open for access filePath with write permission)        set eof imageFile to 0        write (the clipboard as (first item of theType)) to imageFile -- as whatever        close access imageFile        set the clipboard to markdownUrl        try            tell application "System Events"                keystroke "v" using command down            end tell        end try    on error        try            close access imageFile        end try        return ""    end tryelse    return ""end if
  • 然后把Triggers和Action之间画一道线

  • 在七牛申请一个免费账户,免费账户已经完全够用了。

  • 新建一个空间,假定你的空间名为test,那么七牛会给所有放在当前空间中的文件生成链接http://test.qiniudn.com/abc.png

  • 再自己的电脑上配置自动一个文件夹,让其中的图片能够被自动上传到七牛的空间。下载QRSBox参考链接配置成自动同步之前我们放图片的文件夹

  • 回到前面的脚本,将markdownUrl改成你的七牛空间地址,如果你的空间名为test,则改为http://test.qiniudn.com/,同时将本机的同步文件夹改为你的实际同步文件夹路径。

七牛同步工具的使用说明

命令行工具使用方法

  • 首先,下载 QRSBox 命令行工具,并解压。

  • 然后,在解压后的文件夹中执行以下命令,进行初始化:

./qrsboxcli init <AccessKey> <SecretKey> <SyncDir> <Bucket> [<KeyPrefix>]

其中,<AccessKey><SecretKey> 在七牛云存储平台上申请。步骤如下:
1. 开通七牛开发者帐号
2. 登录七牛开发者自助平台,查看 Access Key 和 Secret Key

<SyncDir>是本地的同步目录,该目录下的文件会随时同步上传值七牛云存储。
<Bucket>是保存同步文件的资源空间名。

<KeyPrefix>是文件前缀,可选。如果设置了该参数,那么上传的文件名前都会加上前缀。这个前缀主要用于在空间中区分不同上传来源的文件。

最后,用户可以使用以下命令开始文件同步:

./qrsboxcli sync &

这里使用了 & 符号,让同步客户端进程运行在后台。如果退出终端后程序中断,请使用以下命令代替:

nohup ./qrsboxcli sync >/dev/null 2>&1 &

用户可以通过以下命令查看同步过程:

./qrsboxcli log

如果需要停止后台运行的qrsboxcli,可以使用如下命令:

./qrsboxcli stop

如果希望改变同步的目录、bucket等运行参数,需要先用 stop 命令停止 qrsboxcli 的后台程序,重新用新的参数运行初始化命令,然后再次启动同步程序,qrsboxcli会立刻按新的配置将新目录的文件同步至七牛云存储。

命令使用说明

执行以下命令可以获得各个子命令的使用说明:

./qrsboxcli
Usage:  qrsboxcli init <AccessKey> <SecretKey> <SyncDir> <Bucket>  - Init qrsbox conf  qrsboxcli sync &                                           - Watch <SyncDir> and sync files  qrsboxcli log                                              - View sync log  qrsboxcli stop                                             - Kill qrsboxcli sync processBuildVersion:  qrsboxcli v2.5.20131013

配置文件

命令行工具的配置文件通常保存在用户主目录的.qrsbox下,执行init命令时会将具体目录路径输出到屏幕上。 具体内容如下(JSON格式):

{    "tasks": [        {            "src": "<SyncDir>",            "dest": "qiniu:bucket=<Bucket>",            "skipsym": 0,            "syncdur": 0        }    ],    "access_key": "<AccessKey>",    "secret_key": "<SecretKey>",    "debug_level": 0}

其中,
tasks字段指定监控任务:
src字段指定受监控的文件目录;
dest字段指定上传目标参数,如空间名()和文件前缀(KeyPrefix),多个参数须以&符号分隔;
skipsym字段指定是否跳过链接文件,0表示不跳过,1表示跳过;
syncdur字段指定监控检测周期,单位为秒,0表示使用默认值(0.5秒)。
access_key字段指定AccessKey值;
secret_key字段指定SecretKey值;
debug_level字段指定日志信息输出等级,默认值为0,即输出Debug信息。
ignore 文件与规则

qrsbox 和 qrsboxcli 支持使用 ignore 文件来忽略某些不需要上传的文件,详见 ignore 规则。

0 0
原创粉丝点击