node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org »

ghost-qiniu

Ghost with Qiniu Support

介绍

Ghost 原版只维护了本地储存,该版本将其修改为上传至七牛云。
本版本基于 Ghost 的官方稳定版,随官方版本进行更新。
支持通过 npm 模块启动 npm install ghost-qiniu
七牛云 Storage 代码修改自 GhostChina 发布的 Ghost 0.4.2 七牛云集成
七牛云上传代码来自七牛云 Node.js SDK。

目前版本:0.5.10

0.5.9 只支持 Node v0.10.x,请您自行检查是否兼容。
0.5.9 起的适配加入了是否将图片文件保存在本地的选项,请您升级时在配置文件中加入新的设置项,否则无法启动。
0.5.9 起的适配修改了在远端的储存位置结构,请您注意。
0.5.10 起支持 Node 0.12 和 io.js V1.2。

0.5.9 ~ 0.5.10 版本的 config.example.js 中的设置格式都被误写为又拍的格式,特此致歉。错误已经修正。

修改部分

  • 修改了 core/server/storage/index.js 使其只支持七牛云上传
    (由于 Storage 只会被初始化一次,配置文件内的内容尚未被被读取,无法判断配置是否存在)
  • 修改了 core/server/config/index.js 判断七牛云配置是否存在,将读取到的七牛云配置插入 config 对象
    (新版的配置载入并非直接载入所有配置,而且第一次初始化时并不会读取到七牛云配置)
  • 添加了 core/storage/qiniu.js 实现七牛云支持

配置

以下为示例

qiniu: {
    bucketname: 'my-first-bucket', //空间名称
    ACCESS_KEY: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', //具体含义请参考七牛的文档
    SECRET_KEY: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    root: '/images/', //文件存储在哪个目录。可以设置为 `/` 表示存储在根目录
    prefix: 'http://cdn.my-domainname.com',  //上传的文件的 URL 前缀,可以是你自己绑定的二级域名或者七牛云默认分配的二级域名。
    savelocal: true  //配置是否将上传的图片文件保存在本地,默认为 true
}

上传文件在七牛云上的存储结构

首先计算上传文件的 md5 值,然后获得日期(格式为 YYYY-MM-DD,来自服务器时间),取 md5 值作为文件名。例如:

某上传文件的 md5 值为:6fb2a38dc107eacb41cf1656e899cf70;扩展名为 .jpg ;目录及文件组织结构为:YYYY-MM-DD/6fb2a38dc107eacb41cf1656e899cf70.jpg

注意

  • content/images 目录必须设置正确的写权限。

版权和许可证