最近给自己立了个flag.今年每个月至少要写一篇博客, 主要觉得只接受讯息没有输出整个人容易陷入闭塞, 这一篇就记录一下这几年写博客的变化.
博客平台
翻了一下以前的博客。已存的最早的一篇是2011年, 距离现在也快十年了.那会还在cnblogs
上写博客,注册账号在后台就可以写,简单易博,没有花里胡哨的东西. cnblogs
是一个程序员博客社区,也提供一些定制化的模块。譬如可以在侧边栏挂一些实用性的挂件, 像访客计数, qqshow, 日历等等。
在cnblogs
写博客写了一年左右, 感觉用起来很不爽.模板主题太少,后台写文章沉浸式体验不够,在线写作当时也不是实时存数据断网容易丢数据.诸多诟病后就转向了当时红极一时的wordpress
平台.wordpress
是基于php
编写的,生态很丰富.有完备的插件机制,定制化极高.基本上你想要的功能都有现成的.
wordpress
上手相对复杂一些。得准备vps,安装php, mysql 搭建wordpress
环境,除此之外还要准备域名.刚开始的时候跟别人共用的vps
,首先觉得平时只是写写博客,没有其他需求,自己单独买一个vps
有点大材小用的感觉。其实主要原因是因为穷。合租vps
经历也挺好玩的。那时候还在写as
代码平时一直关注一个博主,然后留言勾搭上了.而他又正好要找个人分摊一下费用就一拍即合.
wordpress
后台同样也自带编辑器.体验比cnblogs
要好很多.而且主题众多.社区里面也经常有人开源主题. 也有人专门做收费主题. 也挺有前瞻性,很早就有自适配手机的主题. 这个平台大概用了三年左右。用久了也觉得有欠缺点。相对于博客来说这个系统太笨重了。而且因为国外的节点不是很稳定所以半年左右就迁一次机房. 换空间时的数据迁移和环境重装相当蛋疼。虽然wordpress
可玩性很强,但是仔细想想.其实我并不需要这么多附属功能。我想要的只是一个稳定输出内容的静态博客而已。
16年的时候暂用过一段时间github pages
写博客用markdown
然后托管在github
上。但是很快又转向了hexo
的怀抱. 原因和cnblogs
一样主题太少,不符合自己的口味. 还有一个原因是线路在国外,国内访问速度比较慢。hexo
是用nodejs
写的。原理就是把markdown
文章加上对应的主题渲染成html
.然后直接托管静态网页就可以了。12年诞生.经过几年迭代生态也不错。有很多开源的主题, 其中最热门的应该是next主题了。简洁颜值又高可能是大家用的比较多的原因吧.next
也是迭代了几年。基本上主流的第三方服务都有对接。评论系统像之前的多说。访客统计等等。我自己也是用这个主题之后没换过。
hexo
用了小两年。心里的小情绪又涨起来了.文章一多hexo
每次生成静态文件的时间越长.简直是浪费生命。才100多篇文章的时候等待时间就难以接受。于是又开始物色新的平台。然后就找到了现在用的这个hugo
. 主题是github一个作者对next
主题的高仿.折腾到此基本满意。
写博客工具
除了发布平台外写博客工具也是重要的一环。刚开始写博客的时候的时候绝大部分的时间都是在发布平台的后台上直接写博客。写了一段时间后就觉得有些地方不爽。网页编辑器沉浸式的体验不是很好,断网丢数据也是一个大问题。后来就转向了live writer
这个离线写作工具, live writer
出身微软, 算是含着金钥匙出生,功能也比较强大。支持的博客平台众多. 了包括前面写到的cnblogs
和wordpress
.虽是闭源的.但提供了诸多插件.有代码高亮
, 插入图片并上传
等插件, 也可以自己开发. 像cnblogs
插件就是第三方开发.live writer
算是不错的写博工具。 用过一段时间后我把之前的博客文章都转换成了markdown
转向了markdown
的阵营.再用live writer
写支持不好,再加上live writer
2015年的时候停止开发开源给社区维护。然后我选择了其他的写作工具.
前几年陆续使用过像IA writer
, Mweb
这样的编辑器, 中间用hexo
平台的时候也用了一段时间开源的hexo editor
还给作者提了几个patch
, 但大部分博客还是用sublime
来写。主要是开发和写博客可以用相同的编辑器,markdown
也有第三方插件支持.唯一的痛点可能是改用图床储存图片后上传有些不太方便.
最近又在折腾写博客工具. 回归简目标又落到了typora
.支持图传插件,主题定制度高.现在用的pie
主题在mac
上写作感觉还不错. 经过这么多年的辗转,觉得理想的写作工具应该具备这些特点
- 支持markdown
- 双栏
- 禅模式提高写作专注度
- 可定制主题
- 可以换字体,调节字体间隔,字体间隔很影响观感
- 图床上传功能,可以自动替换上传后的图片地址
- 多端同步(最好支持git同步), 编辑体验一致
图片储存
早期用cnblogs
和wordpress
的时候.文章和图片可以一起上传托管。后来觉得博客做数据备份时要连图片一些备份感觉耗时, 更重要的是没有cdn
分发访问图片速度很慢。
后来就把图片托管了新浪微博上。有开发者写了个chrome
插件叫微博图床
用起来挺方便。拖曳上传直接转换成了外链, 直接插入到文章中就完事了。而且自带cdn
分发又不消耗主机流量.可以说相当好用. 但是好景不长.用了一段时间新浪微博开始限制外链。无奈之下只得转换阵地。
正好七牛云个人用户免费。个人用户储存容量和http
的cdn
流量都是10g
免费额度. 这白给的图床不用白不用。于是又做了一次痛苦的迁移工作.不仅图片要迁移,文章中图片链接要更改. 虽然文章链接可以写正则做批量替换。图片也得批量下载。但最主要的是替换完要做校对工作。看文章内图片有没有失效的。这次迁移完后后续再更改平台工作量也会小很多。域名固定,图片路径固定的话连文章中链接也不需要再更改。
图床本质来讲最大的好处就是cdn
加速。不过也看个人需求。有些大佬写博客很少有图片, 通篇文字足已。
自动化发布
自动化发布的需要也是转换到hexo
和hugo
平台后才有的困扰. 基本流程是写完markdown
后用程序转换成html
静态网页再push
到提供个人博客托管的pages
服务提供商。流程比较长. 后来也写过hook
钩子来做自动化 .只提交markdown
,触发钩子执行自建的测试服务器上写了一个发布服务.自动生成html
并且push
。
其实还有别的选择,但不符合自己的需求。 个人希望是markdown
仓库私有化。而travis-ci
虽可以跟github
很好的集成做持续构建.但访问私有项目是收费的. 所以选择了自建服务。缺点可能是得自己买一台服务器. 像我个人的话经常有一些测试需求所以自建发布服务只是顺便做的。
最近看了一下coding.net
也开放了自动构建的服务。正好博客源也托管在上面。打算最近研究一下替换掉自己写的hook
服务。
写在最后
回顾写博客这些年,虽然更新频率不高。但也小有体会。写博客对于不同个体其实有不同的属性。有的人用来作记录。有的是向外输出知识, 有的只是有表达欲,想发表一些对周边事件和人物的看法。 本质来讲写博客是具有整理思路与反省的功效的. 而且写作过程又可以随心所欲, 何乐而不为。