Blog迁移
原来的blog系统
过程
20100502---20140811 CSDN博客
14篇技术文章20160508---20170601 Python DjangoCMS 自建博客
使用的Python DjangoCMS系统,没精力去定制,只是初步学习了djangocms架构,搭建了简单的博客页面。写了12篇文章。采用Nginx+UWSGI+DjangoCMS。20171110---20190821 Ghost博客平台
为了追求简洁性,也是在朋友的推荐下选择了Ghost,主题风格选择简单版的attila。写了13篇文章。期间遇到一个难以绕过的问题是就是Markdown的星号list在文章发布后还是显示星号而且分层结构的list也不区分星号与-,但并没有去深究。
也因为这个问题,试图升级ghost。期间尝试了两次,都以失败告终。blog系统放在DO的vps上,古老的Debian 8系统,Docker不能安装(没有修复成功),而且ghost的升级过程确实挺冗长。20190101---20190115 基于Nextjs的简易博客平台nextein-starter
2019年初想选择一个强大的开源blog系统,顺便能学习js。所以就排除了市面上的那些很普及的纯粹定制的静态站点blog系统。最终选择了Nextjs。利用Nextein静态站点生成器搭建了一个风格类似于attila的系统。写了4个实践性的文章。到此为止,并没有开始相关的React 和 Next.js的学习实践。20200118---当前 升级到Ghost3.0并切换主题到默认主题
2020年初春节假期再次迁移ghost。这次最终成功升级到ghost v3。社区咨询才了解到list的星号显示问题是attila本身的问题,考虑放弃使用这个主题风格,采用默认casper风格。
再次调研,发现Ghost+Nextjs是个较好的组合。参考Using Ghost as a Headless CMS with Next.js计划构建Blog系统。
截止20200228,目前对ghost主题进行了定制,添加了评论系统、目录结构、阅读进度条,并修改了部分bug,网址暂时是https://blog.approachai.com。 后续可能需要添加统计、全文搜索。20200218--当前 Next.js,Ghost+Nextjs组合
Ghost只是作为内容生成和写作平台,Nextjs作为前端。博客系统走通并定制。
基于开源项目,目前走通了几乎所有功能实践。- RSS
- 邮件订阅和营销 mailchimp
- 单项评论系统 基于formspree
- 博客推荐
利用自己手机号码给Twilio号码发送博客链接,Twilio平台收到信息后,根据我们配置的webhook url,调用这个webhook。请求到达自己的服务器进行如下处理:判断url是否已经存在于firebae firestore中,若没存在,就先获取博客相关的的title、desc等元数据,写入firestore中。
同时这个项目里的一个子包需要部署到firebase里,其中实现了三个云functions,保证google firebase firestore与全文索引系统Algolia的实时同步。
从目前的使用现状来看,firebase、Algolia、mailchimp、formspree看来都可以免费使用。但是Twilio估计也就使用一年。需要考虑替换选项。
Firebase function的免费使用的一个限制是不能访问外部网络。所以改为在自有服务上做了与algolia的自动同步,同时把数据库从firebase firestore更换为firebase realtime database。
当前的系统
- Ghost v3.0 blog.approachai.com
暂时整合了三个blog系统的站点链接,并把nextblog的文章直接迁移到ghost系统中, - Ghost + Nextjs blog系统 now.approachai.com
暂时正在定制、开发中 - 目前文章数
CSDN14+ Python DjangoCMS12+ Ghost博客平台13+ nextein-starter4+ Ghostv3 9篇
总计52篇。去掉一些质量不好的,估计就45篇多。(20190228统计)
ToDo
Nextblog站点链接不能正确切入到NAVIGATION中
已在ghost forum中咨询;自己分析mysql正常存储,只是读取时有问题。 如何debug ghost theme,即handlebarsjs的debug。
目前问题已经解决。- 升级DO vps 到最新的系统
- 迁移遇到的问题总结
- Ghost + Nextjs blog系统设计和开发
既然所有的走通了,需要沉下心来学习架构、Typescript、CSS布局和代码其中的良好实践,同时积累思考实践设计思路和灵感,提升创造能力。
A small favor
Was anything I wrote confusing, outdated, or incorrect? Please let me know! Just write a few words below and I'll be sure to amend this post with your suggestions.
Follow along
If you want to know about new posts, add your email below. Alternatively, you can subscribe with RSS.