随着 Ghost 最新版本 0.4.2 的发布,Ghost 可以被当做 NPM 模块来使用了!
用法
和普通的 NPM 模块一样,也是在 package.json
文件中添加一个依赖模块,具体方式如下:
在
package.json
文件中,将 Ghost 添加为依赖模块。"dependencies": {
"ghost": "0.4.2" }在命令行中执行
npm install
,Ghost 就这样被安装好了。在你自己的 js 文件中引入 Ghost 模块(就像任何普通 NPM 模块一样),然后调用函数,启动 Ghost。
var ghost = require('ghost');
ghost();
到此为止,通过 node 命令直接运行这个 js 文件就能启动 Ghost 了!
定制
设置 content/
目录
默认情况下,Ghost 读取的是自身包含的 content/
目录,在 Ghost 作为 NPM 模块的情况下,查找的就是 Ghost 模块所在目录下面的 content/
目录。现在,你可以通过向 ghost()
函数传递一个 JSON 对象就可以改变 content/
目录的位置;为了便于维护,你也可以传递一个 JSON 文件作为参数,如下:
ghost({
config: path.join(__dirname, 'config.js')
});
config.js
是复制于 config.example.js 文件。
改变 content/
目录的实际位置的参数如下所示:
paths: {
contentPath: path.join(__dirname, '/content/'),
}
通过修改上面的参数,就能改变 content/
目录的实际位置。
注意: 因为 Ghost 从 content/
目录读取的文件的所在位置都是有规定的,如果你改变了 content/
目录的实际位置,就要仿造一份原始的目录结构。为了方便快速上手,建议直接复制一份 原始的目录结构 ,然后再进行修改。
好处
备份数据简单了
我们知道,Ghost 系统中只有 content/
目录下面的内容是用户可以修改的,而且这个目录下面包含了我们的插件、数据库、上传的图片和主题,分别对应 apps
、data
、images
、themes
这4个子目录,如果能够把 content/
目录独立出来,我们以后在备份数据的时候就省事了,直接升级 Ghost(作为 NPM 模块),根本不用做什么备份了(当然,为了稳妥起见,还是要备份的,以防 Ghost 自身出现问题,破坏数据),或者,起码备份更方便了。
运行多个博客更方便
还有一个好处,如果我们有多个博客需要维护,那么就只需要建立多个 content/
目录(可以任意命名)和 config.js
文件,Ghost 核心代码就能完全公用,升级一次就能让所有站点同步升级了!这个就要大家开动脑筋,想想怎么优化目录和文件的组织结构了。
还有一点,如果你用的是 MySQL 数据库的话,其实只要一个 content/
目录,然后配合多个 config.js
文件就能跑多个博客,插件共用、图片存储共用、主题都放到一个目录下面!是不是很方便了!