Ghost 0.5.2 with upyun support
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
content
core
Gruntfile.js
LICENSE
PRIVACY.md
README.md
bower.json
config.example.js
index.js
package.json

README.md

Ghost 0.5.2 with Upyun Support

后续版本更新转移至 ghost-upyun ,敬请留意

介绍

Ghost 原版只维护了本地储存,该版本将其修改为上传至又拍云。
本版本基于 Ghost 0.5.2 Stable。
又拍云 Storage 代码修改自 GhostChina 发布的 Ghost 0.4.2 又拍云集成
又拍云上传代码来自又拍云 Node.js SDK。

修改部分

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

配置

以下为示例

upyun: {
    bucketname: 'my-first-bucket', //空间名称
    username: 'somebody', //操作员名称
    password: 'secret', //密码
    root: '/images/', //文件存储在哪个目录。可以设置为 `/` 表示存储在根目录
    prefix: 'http://cdn.my-domainname.com'  //上传的文件的 URL 前缀,可以是你自己绑定的二级域名或者又拍云默认分配的二级域名。
}

上传文件在又拍云上的存储结构

首先计算上传文件的 md5 值,然后取 md5 值的第1位字符作为一级目录名称,取第2和3位作为二级目录名称,剩余的字符作为文件名。例如:

某上传文件的 md5 值为:6fb2a38dc107eacb41cf1656e899cf70;扩展名为 .jpg ;目录及文件组织结构为:6/fb/2a38dc107eacb41cf1656e899cf70.jpg

注意

  • 该版本在上传文件后不会删除源图片(即被上传到 content/images 的图片),如果您希望删除,请在 core/server/storage/upyun.js 的第 33 行,第 7 个字符后插入。
    
      .then(function() {
          return Promise.promisify(fs.unlink)(savedpath);
      }
      
    
    由于测试时因不明原因导致错误,请在测试后再放入生产环境
  • content/images 目录必须设置正确的写权限。
  • 该版本仅在 Ghost 0.5.2 下测试通过,理论上兼容 0.5.x ,请自行测试
  • 如果您在启动时自行定义配置文件地址(即以 Node 模块启动后传入 config 对象),请不要使用该版本,该版本仅兼容非配置文件自定义的 Ghost。

版权和许可证