Ghost 是一款 Node.js 上非常好用的的内容发布平台。
The professional publishing platform
由于博客是 15年暑假弄得,那个时候 Node 版本还比较低,而且那个时候 Ghost 还并非是一个特比出色的产品。不像现在非常强大,有很多的主题可以选择,更加人性化的后台管理。
升级到 1.x
由于我已经很多年没有升级了,这次升级需要先从 0.x 的版本升级到 1.x 的版本,然后再升级到 2.x 的版本保持和 Ghost 的产品线一致。
无论如何都先请备份好你的博客 JSON 数据 资源和图片(content/images) 这目录。
你可以在后台 labs 选项里看到 export 选项,然后选择导出即可获得博客的 JSON 数据资源。
而图片目录需要自己去服务器上进行拷贝。
安装 Ghost-cli
ghost-cli 是 Ghost 团队官方出品的一款方便大家进行博客创建和迁移的脚手架工具。我们升级前一定要安装这个工具。
$ sudo npm i -g ghost-cli@latest
如果你 Node 版本低于 8.x,请先升级 Node 版本到官方推荐的版本
安装完成之后,我们需要新建一个临时目录(如果你只用 1.x, 可以直接新建目标目录 )。进入目录后,需要我们重新初始化。
ghost install local --v1
安装完成后,我们需要恢复数据。
- 将备份的
content/images
目录覆盖到我们新建的 ghost 目录对应的目录下.。 - 启动博客后,进入后台
labs -> import
选择我们的 JSON 备份数据即可。
如果出现
The file you uploaded was larger than the maximum file size your server allows.
你需要自己配置下 Nginx
client_max_body_size 5m;
在 nginx.conf
里需要设置文件的大小。
升级到 2.x
进入刚刚创建的目录,然后进去可以直接通过
$ ghost update
进行升级。脚手架会自己进行主题和文件的检测。
如果你想单独创建一个 ghost 2.x 版本的目录,你也可以新建目录,然后进入目录输入
$ ghost install local --v2
来创建项目。
升级后,主要是可以享用一些非常方便的功能:
- Public API 你可以更好的访问博客数据,无论是 AJAX 还是 模板渲染,你的自由度会更大。
比如获取文章相关内容的推荐
{{#get "posts" include="tags,authors" limit="3" filter="id:-{{id}}+tag:{{primary_tag.slug}}" as |related|}}
<section class="related-posts">
<h3 class="related-title">{{t "Recommended for you"}}</h3>
{{#foreach related}}
// post layout
{{> post-card}}
{{/foreach}}
</section>
{{/get}}
- Ghost-Cli 通过 新的 CLI 工具,你可以更好的管理博客升级,运行。
- 后台管理界面,更加人性化,可以控制的配置更多了。
总之升级之后相比以前感觉界面清爽了。没感觉到性能丢失。
新的博客主题代码对外开源了 可以访问 ghost-theme 获取