博客

对于一名IT开发人员,记录个人博客,分类管理自己的知识体系,是很重要的。

经历

对于个人来说,我尝试过很多博客的方案,其实大体分为两类:

(1) 云笔记编写:

例如 飞书,语雀,有道云笔记,印象笔记,notion,onenote等等

(2) markdown编写

本地编写好markdown文件,利用static page generator,生成网页后,部署到网站:

例如 hexo,hugo,gitbook,vitepress,mdbook

需求

我的需求,其实市面上的软件很难达到,因为我想同时达到很多效果

(1) 编辑:

  • 多端可编辑,并且自动同步
  • 编写方式以markdown为主,同时支持markdown导出

(2) Static page generator:

  • 轻松将已有的markdown文件,整理好目录结构
  • 社区生态和官方维护在线

方案

最后采用了,feishu + feishu-pages + mdbook

为什么使用飞书?

我的编辑要求是,多端可编辑,并且自动同步,其实也就是云文档需求,在我使用的已有的云文档软件里,飞书给我的体验非常好,编写非常舒服,并且业界的程序员使用的也很多。

但是飞书有一个唯一的缺点,那就是不支持markdown导出,这个问题将使用feishu-pages解决

为什么使用feishu-pages

feishu-pages是一个开源项目,它主要是可以将feishu的知识库内容,按照知识库目录结构导出markdown文件,同时自动将飞书图床的图片拉取到项目的assert文件夹,可以本地查看

为什么使用mdbook

Static page generator我也试过很多已有方案,包括hexo,hugo,gitbook,mdbook等,最后我选择了mdbook

mdbook的优势

(1) 前文提到我是用feishu-pages导出具有目录结构的markdown文件,它默认使用SUMMARY.md进行组织结构的,这和gitbook以及mdbook的目录结构天然适配

(2) gitbook现在已经不再维护static page generator版本,团队专注于线上版本,所以官方已经停止维护,并且没有相应的社区在活跃了

(3) 过去的gitbook,在渲染大量markdown文件时,速度感人,所以最后使用mdbook

(4) mdbook跟gitbook的使用方法基本一致,并且官网的demo做的也很好看https://rust-lang.github.io/mdBook/