个人blog搭建总结
:ballot_box_with_check: 个人需要督促下。很多东西,都是在自己的大脑中,没有经过整理。这个blog就是一个自我总结的展示。
主要的构想
初衷 个人需要督促下。很多东西,都是在自己的大脑中,没有经过整理。这个blog就是一个自我总结的展示。
- markdown 我喜欢markdown,用文本展示一切。
- 支持书写图形 我讨厌画图,因为画图没有修改历史。我喜欢使用文本来画图。
- 自动化 当每次我完成新的文件提交,我的blog网站可以自动提交。
- 无后台服务依赖 这样我可以做到后续的快速迁移而不用考虑复杂的关联系统,关联的服务越多,迁移的成本就越高,复杂度也是越高
- 永久免费
- 永久支持 坚持是很难的,我希望我的blog至少要能比我有耐心和韧劲,不要我没有放弃,它门就放弃了。
- 快速 能很快上手,需要
基于上面的设计原则,我做了下面的技术选型
评论区我最后选定了disqus,下面是我不使用其他的原因
畅言: 收集用户手机/微博/微信~~gitment: 默认依赖 https://gh-oauth.imsun.net ,替换需要一个独立的后台服务,用来支持github oauthghost: ghost需要后台服务,或者托管在ghost的服务器上,和我的想法不太一样,我希望是
这里我放弃了在本地预览的功能。如果这样,那么每次我在新的设备上写blog,就需要下载整个hexo及相关的配置。
这个网络消耗比较大,而且可能会不小心修改了错误的配置文件,造成travis-ci不能正确编译。
blog的文章是单独提交的,blog的配置是在另外的系统上,当构建blog时,将两者汇总到一起。
基于上面的设计,我设计了oneforce/oneforce.github.io的branch结构
1 | blog: blog的内容,仅包含所有个人文章的md格式和一个.travis.yml,用于触发travis-ci的自动构建 |
请首先创建blog分支,然后创建hexo,master分支是由travis-ci构建脚本自动触发的。这样做的好处是每次登陆github,都可以直接编辑你的文章,而不是每次需要切换分支
问题总结
后续优化
mermaid使用markdown语法支持,而不是hexo tag方式
暂时我使用了mermaid来支持图形化工具,但是这个实现不好。我希望使用markdown 的``mermaid `语法,而不是hexo的tag标签。使用tag标签后续迁移会很麻烦。但是找了几个markdown的解析器,都没有能很好的支持mermaid语法