博客
对于一名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/