对于生活在21世纪的我们,互联网已经走进了每个人的生活,每个人都离不开它。在互联网中,博客是诞生比较早的载体,然而随着时代的发展,越来越多的博客平台已经关闭,在这个时候人们逐渐意识到,拥有一个自己的博客无论是对自己,还是对自己的后代都是非常有帮助意义的。
博客有很多种类型,有静态博客,就是内容是通过文档记录的,还有动态博客,就是内容是通过数据库记录的。今天我们主要讨论下静态博客,以及那些生成静态博客的工具。
hexo
使用nodejs开发的静态博客系统,它的速度非常快,数百个文件几秒内就可以生成成功,它有着丰富的插件系统,我们博客常用的功能,它都有对应的插件来实现,比如后台管理,标签管理,rss生成,cdn管理等等,总之,有了这些插件,你可以像使用动态博客一样来使用它。
此外,hexo有着非常多的优秀主题,无论对审美有着多么严格要求的人,都能在这里找到属于自己的一款主题皮肤。
jekyll
使用ruby语言开发的静态博客系统,它内嵌liquid语言模板引擎,支持标签和过滤器。它支持自定义url地址,同时,它还支持页面的自定义布局设计,更重要的一点,如果你之前使用了其它的博客系统,它是支持博客迁移的,也就是它会提供给你从其它博客迁移到jekyll的完整帮助。
hugo
作为21世纪的c语言,golang也有静态博客系统,它就是hugo。它的构建速度是非常快的,每个页面的速度小于1ms,也就是说1千个页面,它的速度还不到1s。
同样,hugo也有着丰富漂亮的主题供你选择。
此外,它的功能非常强大,文章类型,文章分类,导航管理,这些它都提供了方便的解决办法。
hugo和其它静态博客不同的特点是他提供了api系统,也就是说,你可以将你的博客内容通过json等格式输出,方便提供给第三方系统使用。
gitbook
使用nodejs构建的静态博客系统,从它的名字我们就可以看出,它是基于书的目录结构进行组织的,也就是说浏览它,就像看一本书一样,很多人都用它来进行笔记的整理。
它是支持富文本格式的,也就是说你可以非常方便地修改段落位置,修改文字大小等。
同时它是可以和github集成的,也就是说我们可以非常方便地进行文章的版本管理。
Docute
这是一个javascript构建的博客系统,说构建其实不太恰当,因为它本身并不是构建,它只是提供了一个文章的组织和展现形式,它是基于vue开发的,也就是你可以像使用vue一样来使用它,它也是支持vuex的。
它有一个离线浏览的功能,通过servicework,它可以缓存你浏览过的内容,当你的网络断开的时候,它也可以正常工作。
VuePress
这是使用vue构建的静态网站生成器,它构建出来的是一个单页面应用。它的主要编辑形式是markdown,它也是支持主题和模板管理的,也就说你也可以通过主题和模板美化你的页面,不过和hexo相比,目前它的主题数量过少,不过相信随着时间的推移,慢慢它的主题数量也会多起来。
Docsify
这是一个基于vue的构建系统,它的最大特点就是它不需要构建markdown转换成html,也就说它省去了我们构建的时间。
同样,配合pwa技术,它是支持离线功能的,也就说没有网络的时候,我们也可以使用它。
它的插件系统也是非常丰富和好用的,我们常见的评论系统,分页,字数统计,图片缩放,图表等等它都有提供,并且插件的开发规范也非常友好,只要你熟悉vue,你就可以轻松开发出属于自己的插件系统。
总结
静态博客系统的优点就是它不需要数据库,只需要静态文件就可以提供浏览,这样它可以提供非常大的并发访问。它的缺点就是每次改动的时候,我们都需要重新构建,这会花费一定的时间,特别是当我们的文档数量非常庞大的时候。