Ghost 开源博客平台

Ghost 是一个简洁、强大的写作平台。你只须专注于用文字表达你的想法就好,其余的事情就让 Ghost 来帮你处理吧。

将 Ghost 作为 NPM 模块使用

随着 Ghost 最新版本 0.4.2 的发布,Ghost 可以被当做 NPM 模块来使用了!

用法

和普通的 NPM 模块一样,也是在 package.json 文件中添加一个依赖模块,具体方式如下:

  1. package.json 文件中,将 Ghost 添加为依赖模块。

    "dependencies": {
    "ghost": "0.4.2" }

  2. 在命令行中执行 npm install ,Ghost 就这样被安装好了。

  3. 在你自己的 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/ 目录下面的内容是用户可以修改的,而且这个目录下面包含了我们的插件、数据库、上传的图片和主题,分别对应 appsdataimagesthemes 这4个子目录,如果能够把 content/ 目录独立出来,我们以后在备份数据的时候就省事了,直接升级 Ghost(作为 NPM 模块),根本不用做什么备份了(当然,为了稳妥起见,还是要备份的,以防 Ghost 自身出现问题,破坏数据),或者,起码备份更方便了。

运行多个博客更方便

还有一个好处,如果我们有多个博客需要维护,那么就只需要建立多个 content/ 目录(可以任意命名)和 config.js 文件,Ghost 核心代码就能完全公用,升级一次就能让所有站点同步升级了!这个就要大家开动脑筋,想想怎么优化目录和文件的组织结构了。

还有一点,如果你用的是 MySQL 数据库的话,其实只要一个 content/ 目录,然后配合多个 config.js 文件就能跑多个博客,插件共用、图片存储共用、主题都放到一个目录下面!是不是很方便了!

王赛
关于作者 王赛