关于新版博客

旧版博客的停用

大概在一年前多前,我用 WordPress 搭建了最初的博客,当时着实被 WordPress 强大的功能深深震撼,也被眼花缭乱的 WordPress 主题各种吸引,不可否认,WordPress 目前仍是最成功 CMS 系统,没有之一。

这期间我的 WordPress 的宿主也一直再换,先是原生得安装在云服务器,后来跟随潮流,装进了 Docker;又因服务器重装,迁入了老薛主机提供的虚拟主机服务,最后贪图便宜,迁入到阿里云提供的几乎免费的虚拟主机服务,之后便没怎么维护了。这个过程中,我对 WordPress 的热情也逐渐消减,并不是 WordPress 不好,只是感觉它确实不适合我。

这种感觉不是无依据的矫情,WordPress 的文章内容是以html格式存储在数据库的,这总让我有种我“我写的东西不是我的”的感觉,我希望用 Markdown 来写它又不支持,而后者几乎是我写东西、记笔记使用的唯一的工具。另外 WordPress 高亮代码做的不好,虽然有强大的高亮插件保证代码显示的时候非常好看,但在插入代码的时候往往体验很差,稍不注意就有各种显示问题,这对一个程序猿来说实在难以忍受。最后一点,也是最重要的一点,WordPress 本身、它的主题、它的插件均用PHP开发的,我不会 PHP,也不想学,所以一旦博客出了点什么问题,我完全是摸着黑得搞,更别说自己写点额外功能了。总结下来,我觉得我和 WordPress 脾气不和,弃坑 WordPress 也就是迟早的事了。

新版博客的搭建

很长一段时间,自己开发一个博客系统的念头一直在我脑海里打转,甚至差点成了我的毕业设计题目(幸亏没选),但最终还是放弃了——懒,懒得花时间造这个轮子。不过这段时间我也花了一点时间去思考我想要的博客系统应该怎样,总的来说就是越简单越好,但至少要支持 Markdown 和代码高亮,且我有能力维护,其他真的无所谓。从这个角度出发,一个静态文件博客倒是非常符合我的要求,事实上我也接触过 Jekyll、Hexo 这些静态博客框架,但最后都是因为这些开发这些工具用的语言和我的技术路径完全不沾边,故没有用。

后来遇到了现在用的工具 Hugo,采用 Golang 开发,是我现在常用的语言。无论从哪个角度来看,它都符合我的心理预期,不用它就有点说不过去了。不过平心而论, Hugo 也有一点臃肿的感觉,因为它和 Jekyll、Hexo 并不是一样的设计理念,Hugo 做的是一个普适的静态网站框架,并不像 Jekyll、Hexo 那样只针对博客这一应用场景,从这个角度看,Hugo 更加复杂、更加繁琐也就不奇怪了。但无论如何,它目前都是我最好的选择,我也挺喜欢。

新版的博客使用 Hugo 搭建,目前既是由它渲染静态文件也由它 serve 这些静态文件,不过应该会尽快让 Nginx 接手静态文件,Hugo 只负责渲染即可。

关于图床

旧版的博客中插入的图片很少是上传到博客系统,而是用了所谓的云存储,阿里云、七牛云的都用过,都挺好用,好处也很多,可以减轻博客系统压力,方便集中管理图片。但头疼的是每次上传图片都很麻烦,写东西的时候突然要上传张图片,往往要被打断好几分钟。

此外,我希望那些长期不访问的图片能够自动消失,毕竟我不想花时间手动去清理那些“没有任何指针指向的对象”。另一方面,在用 Markdown 做笔记的时候,一个“使用方便,自动GC”的图床服务也是必需品,然而我在市面上并没有找到提供这种功能的服务,这个问题就要紧了,所以我早早的写了个带上述功能的图床工具。

这工具的原理并不复杂,简单说就是,客户端直接计算图片文件的哈希值作为文件名,将内容投递到七牛云的存储服务中,哈希值就作为 URL 插入 Markdown 即可(http://[我的服务器]/哈希值),再写个 web service 放我的服务器上,这样一来浏览器对该图片资源的请求就会送到这个 service 上了。当接到请求时, service 计算一个短时间内有效的、可以访问到七牛云上该文件的带参数 URL,发起重定向,浏览器就能获取到该文件了。这样一来浏览器想获取到图片就无法绕过我写的 service,service 便可以统计各个图片的访问情况,适当清理。但是清理算法我还没想好,所以这个工具仍处于等待完成的状态。

不是吹牛,这个工具贼好用,上传图片时画风时这样的:

$ imp 捕获.PNG #上传本地图片

https://image.wolfogre.com/48b1b830683489a8149f41ff0bc89582e40f873a0743e38db8bbf8256f0ac909.PNG #上传成功,图片的 URL

copied! #Windows 下会把 URL 送入粘贴板

$ imp http://img.sj33.cn/uploads/allimg/200912/20091223150234347.jpg #上传网上的图片

https://image.wolfogre.com/22c0fcdbe463271bfd4c5d4dc04af8c0353636e8a7f0b0ae26308bb173b9814e.jpg

copied!

关于评论功能

没有评论功能是静态博客的致命伤,好消息是有很多三方评论插件可以用:Disqus、多说、网易云跟帖、搜狐畅言。但是坏消息是有很多三方评论插件不可以用:Disqus 国内被墙、多说停服、网易云跟帖停服、搜狐畅言的账户管理(作为评论者管理自己的账户)似乎没做完。

借用别人的话:“如果是以前,我肯定会动手写一个评论系统自己用,但生命如此短暂,还有更多更有意义的事情等我去做”。

所以我并不打算在这件事伤纠结了,反正也没什么人评论,就这样吧,行就行,不行就不支持评论了。

——瞎说的瞎说的,做人不能这么拽,我还会再想想办法的。一筹莫展的时候发现了 Gitment,一款基于 GitHub Issues 的评论系统,作者的脑洞简直 fucking awesome,我必须要用一用看。但是我仍然担心以现在防火墙对待 GitHub 者暧昧的态度,一旦 Gitment 用户到达一定规模,被墙的可能性就很大了,真到那时候再说吧。

关于以前写的博客

以前写的东西大多不要了。现在感觉以前折腾的博客没有什么价值,当时仍在读书,对于各种技术东打一枪西放一炮,写的东西也就很杂很浅,留着意义不大。

但这也警醒我自己,不要在写那些没多久我就想删的东西了。

就这些。