重建 Ghost 日期数据库的新解决方案

上一篇的手动重建 Ghost 日期数据会造成额外的问题. 现在我们有了一种新的解决方案, 由 Github 的 kirrg001 提出, 亲测有效. 解决方案的原文在这里 https://github.com/TryGhost/Ghost/issues/7351#issuecomment-249807585. 步骤 备份你的数据库文件 sqlite3 ghost.db SELECT created_ »


手动重建 Ghost 日期数据

在官方真正有效的 fix 到来之前, 你可以用本文提供的脚本手动重建 Ghost 的日期数据. 访问自己博客的/ghost/settings/labs/导出一份 json 文件, 再通过 transform.js 转换之后重新导入博客(导入前先在/ghost/settings/labs/删除所有数据, 否则内容会重复). 已知问题 Ghost 的 »


在 Ghost 1.0 之前, 把它批判一番

Ghost 现在有很多问题, 如果你要建立一个 Ghost 博客, 建议等到 1.0 版本发布以后. 本文列举 1.0 版本之前存在的一些问题, 不排除持续更新的可能性. 支持的 Node.js 版本过旧 Ghost 主要维护的 Node.js 的版本是 Node.js v4. »


博客新主题 Abyss 发布, 谈谈设计思路和 Ghost 的弊端

两天前博客终于换上了新的主题 Abyss, 这个主题是我前阵子基于原先 Casper-Mine 的模板砍掉 CSS 文件重制出来的, 修复了一些原来 Casper-Mine 存在的问题, 增加了一些个人风格. 之前一直没换主题的一个主要原因就在于 Ghost 的默认主题 Casper 设计水平实在太高了, 让人根本想不出超越和改进的方法. 原先博客用的 Casper-Mine 主题也仅仅是一个 Casper主题的临时Pjax化解决方案 加上中文字体, 代码高亮和多说评论框而已. 就这样用了一年多, 慢慢觉得 Capser »


Ghost主题的临时Pjax化解决方案

由于Ghost目前不支持插件, 很多功能的实现都依赖于修改程序源码, 这在日后的升级维护上会带来很多麻烦, 但如果不这么做, 功能又实现不了, 甚是蛋疼. 比如我们通常而言需要后端程序配合才能实现的Pjax, 在这以Handlebars.js作为模板引擎的Ghost里就显得有些强人所难. 不过群众的脑洞是可怕的, 有个叫做MoOx/pjax的JavaScript模块, 通过直接解析XHR得来的源文件, 强行脱离后端实现了Pjax加载(这会比常规的Pjax实现多一些网络资源占用). 今天尝试把这个模块强行加进Casper主题里, 最终实现了Casper主题的Pjax化效果. 具体的实现步骤如下: 一、把MoOx/pjax的pjax.js作为静态资源加入你的Ghost主题, 我将它放在了 /assets/plugins/pjax/ »


Ghost配置Gmail邮箱

Google的不少产品现在都有把人套牢的现象, 以至于我们可以最大限度的容忍他们产品的各种"特性". 比如不知何时开始, Gmail通过SMTP发送邮件, 会在客户端上提示Invalid login. 当我们直接在Ghost的config.js里设置 mail: { transport: 'SMTP', options: { service: 'Gmail', auth: { user: 'welcome@blackglory.me', pass: 'AVeryComplexPassword' } } } 点击后台的SEND按钮时, 就会直接报错: AuthError: Invalid »


本站博客程序由Wordpress更换为Ghost

把博客从Wordpress迁移到Ghost, 从去年起我就有这个想法, 不过由于个人的懒惰, 一直没有去动手实现它, 今天我终于下定决心更换博客程序. 抛弃Wordpress不是没有理由的, 在我长达近3年的OpenShift+Wordpress旅程中, 遇到了许许多多的问题, 几年来, Wordpress和它使用的PHP语言几乎没有任何根本上的改变, 很多老毛病没有解决, 新的问题却如雨后春笋般冒了出来. 架构的陈旧, 复杂度的上升, 我想这不单纯是Wordpress的问题, 恐怕更是整个PHP技术栈、乃至整个PHP圈的问题, 在大多数站长还在用LAMP搭建网站的这个时代, 我觉得是时候去做一些改变了. 我最初的选择是Docker+Ghost, 最后的选择也是Docker+Ghost, 最初Docker才刚刚兴起, 资料和工具的不全面, »