今天把博客的图片存储搞了一下,利用的七牛存储。
七牛 是一个云存储服务商,注册并实名认证之后后,你将免费享有 10GB 存储空间,每月 10GB 下载流量、100 万次 GET 请求、 10 万次 PUT/DELETE 请求。如果想要注册可以点击这里,这样可以为我增加每月5GB的容量。
注册完成之后就可以进行创建空间了,注意我们添加的资源为对象存储,访问控制为公开空间
然后点击右上角进入密钥管理,复制当前使用的AK和SK,配置的时候会用得到
下面我们会用到一个叫做的hexo-qiniu-sync的插件,首先在hexo主目录下安装:
npm install hexo-qiniu-sync - -save
然后把配置信息添加到_config.yml中
plugins:
- hexo-qiniu-sync
#七牛云存储设置
##offline 是否离线. 离线状态将使用本地地址渲染
##sync 是否同步
##bucket 空间名称.
##access_key 上传密钥AccessKey
##secret_key 上传密钥SecretKey
##secret_file 秘钥文件路径,可以将上述两个属性配置到文件内,防止泄露,json格式。绝对路径相对路径均可
##dirPrefix 上传的资源子目录前缀.如设置,需与urlPrefix同步
##urlPrefix 外链前缀.
##up_host 上传服务器路径,如选择华北区域的话配置为http://up-z1.qiniu.com
##local_dir 本地目录.
##update_exist 是否更新已经上传过的文件(仅文件大小不同或在上次上传后进行更新的才会重新上传)
##image/js/css 子参数folder为不同静态资源种类的目录名称,一般不需要改动
##image.extend 这是个特殊参数,用于生成缩略图或加水印等操作。具体请参考http://developer.qiniu.com/docs/v6/api/reference/fop/image/
## 可使用基本图片处理、高级图片处理、图片水印处理这3个接口。例如 ?imageView2/2/w/500 即生成宽度最多500px的缩略图
qiniu:
offline: false
sync: true
bucket: bucket_name
secret_file: sec/qn.json or C:
access_key: AccessKey
secret_key: SecretKey
dirPrefix: static
urlPrefix: http://bucket_name.qiniudn.com/static
up_host: http://upload.qiniu.com
local_dir: static
update_exist: true
image:
folder: images
extend:
js:
folder: js
css:
folder: css
其中各个参数在插件的README文件中都有详细的介绍,按照github上的教程一步一步来是很简单的。
然后在hexo主目录下创建本地目录(该目录要和配置中local_dir参数保持一致),然后创建iamges、js、css子目录,这样基本的配置就完成了
下面就可以在你的文章中试着插入图片了,比如你想引用在你/local_dir/images/下的图片1.png
{% qnimg 1.png %}
更高级的用法请参考github上的说明。
下面进行同步,插件原来给出的命令是 hexo s
即可同步至七牛空间,这里的s表示的是sync,但是这个与hexo 原有的s(server)产生冲突,所以有了第二种方法
hexo qiniu s
将七牛的插件配置好后我写了一篇博客试一试效果,结果发现怎么也没法部署到github,每次hexo d
都会出现
ERROR Deployer not found: git
这样的报错,Google了半天都没有找到解决的办法,最后在找到了github上的一条issue,终于发现了解决办法:只要将配置文件_config.yml中plugins的那段给注释掉就OK了,即
#plugins:
#- hexo-qiniu-sync
还是希望开发者能早点修改文档吧,不然还真的挺容易出事,不过说一句,我的Hexo是3.2.2的版本的,不知道2.x版本会不会出现类似的情况