Ghost Qiniu Storage
This Ghost custom storage module allows you to store media file at Qiniu instead of storing at local machine. It requires Ghost greater than 1.x
!
Installation
Via NPM
-
Install Qiniu storage module
npm install ghost-qn-store
-
Make the storage folder if it doesn't exist yet
mkdir content/adapters/storage
-
Copy the module into the right location
cp -vR node_modules/ghost-qn-store content/adapters/storage/qn-store
Via Git
In order to replace the storage module, the basic requirements are:
-
Create a new folder inside
/content/adapters
called/storage
-
Clone this repo to
/storage
cd [path/to/ghost]/content/adapters/storage git clone https://github.com/Minwe/qn-store.git
-
Install dependencies
cd qn-store npm install
The Old way
The instruction below is NOT recommended for upgrade reason:
Your install instructions require users to do an
npm install --save
- this modifies the package.json and makes the upgrade path for Ghost much, much harder. This was never the intention with the storage system. (via)
-
Installation from NPM.
npm install --save ghost-qn-store
-
Create storage module.
Create
index.js
file with folder pathcontent/adapters/storage/qn-store/index.js
(manually create folder if not exist).'use strict';moduleexports = ;
Configuration
In your config.[env].json
file, you'll need to add a new storage
block to whichever environment you want to change:
More options:
storage: active: 'qn-store' 'qn-store': accessKey: 'your access key' secretKey: 'your secret key' bucket: 'your bucket name' // bucket domain origin: 'http://xx.xx.xx.glb.clouddn.com' // timeout: 3600000, // default rpc timeout: one hour, optional // uploadURL is related with bucket // see: https://developer.qiniu.com/kodo/manual/1671/region-endpoint uploadURL: 'up-z2.qiniup.com' // file storage key config [optional] // if `fileKey` not set, Qiniu will use `SHA1` of file content as key. fileKey: // use Qiniu hash as file basename, if set, `safeString` will be ignored hashAsBasename: false safeString: true // use Ghost safaString util to rename filename, e.g. Chinese to Pinyin prefix: 'YYYY/MM/' // {String} will be formated by moment.js, using `[]` to escape, suffix: '' // {String} string added before file extname. extname: true // keep file's extname // take `外面的世界 x.jpg` as example, // applied above options, you will get an URL like below after uploaded: // http://xx.xx.xx.glb.clouddn.com/2016/06/wai-mian-de-shi-jie-x.jpg
FAQS
License
Read LICENSE