为一名大学狗 & 程序狗,一个电子笔记本来记录学习心得以及一些代码我觉得还是非常有必要的。其一是因为便于修改,其次也是因为我个人有许多代码片段需要记录,如果使用纸质的笔记本,手抄代码不仅浪费时间,在使用的时候也不方便。因此我也是一直在寻找一种便捷的笔记本软件。

我个人尝试过不少的笔记软件。其中用的比较长时间的就是印象笔记以及 oneNote 了。印象笔记还算可以,但是作为一个颜控实在受不了它的设计风格 XD(颜值就是生产力!.jpg)。

OneNote 也用了挺长时间的,本身自带的截图非常适合资源收集整合,同时随处可写也让他成为了一个“真正"的笔记本,对我这种喜好随处做笔记的还是非常友好的 XD。但是 Onenote 对于代码的记录的确不太友好,同时也不支持 markdown 的语法,这也让我很难做出拥有工整代码的一篇笔记。而自带的 OCR 文本识别也是相当鸡肋,中文识别率相当之低。

正好最近在浏览他人博客的时,看到时雨大大介绍了一种使用 gitbook 来做笔记的方式(原文链接)。折腾了一下午以后感觉非常不错,刚好最近也因为都是使用网课上课,同时平时学习课外技♂术也需要时常记笔记。安利吃啦!!(๑•̀ㅂ•́)و✧

笔记簿链接:click!ヽ(✿゚▽゚)ノ

th-hr

gitbook 原本是一个开源的电子书发布软件,拥有以下优点:

  • 阅读体验良好、颜值高、支持内容搜索。

  • 是一款在线的笔记本,绑定个人的域名还可以通过域名来访问。

  • 支持 markdown 语法,能够做出漂亮工整的笔记。

  • 能够绑定 github 仓库,每次做完笔记只需推送到 github就可以更新了。

我已经使用了几日,个人觉得还是非常棒的!♪(´▽`)

我也谈谈在这几天的使用过程当中的一些小小的心得以及我做的优化叭~

gitbook 需要一个 SUMMARY.md 来作为它的目录。这个 md 文件就是一个大大的列表来作为我们的笔记本目录。

可是如果每次我们都需要在做完一篇笔记之后,又需要手动将这篇笔记添加进这个列表当中,非常麻烦。而且在初期归档我以前记的一些笔记的时候,经常发生目录变动,这个时候又要手动去修改,得不偿失。

当时我都有在构思是否要写一个 python 脚本来完成这个自动化工作了(:з)∠)
(实际上就是一个树的先序排列嘛 XD

后来我在网上看到了一个叫做 gitbook-summary 的小插件,能够自动编排并且通过 npm 就可以安装,只需一条指令就可以生成目录。嘛,有轮子当然要用啦!(๑•̀ㅂ•́)و✧

后来我将做完笔记之后需要做的工作制作成一个 .sh 文件,每次在做完笔记双击就可以马上在网上预览啦!( •̀ ω •́ )✧

book sm
git add .
git commit -m "update"
git push

在平日的编辑当中我也时主要使用 vs code作为 markdown 的编辑器。我在 vs code 上安装了两个插件来帮助我高效的书写 markdown:一个是 markdownlint,这个插件能够检查 markdown 当中的格式问题,规范我的书写。另一个则是 markdown+math,这款插件能够渲染使用 LaTex 书写的数学公式。

th-hr

不过在这么多天的使用当中我也发现了一个比较严重的缺陷:gitbook 并不支持标准的 LaTex 数学公式编辑。

因为本学期有一门数学实验,因此我也需要记录一定量的数学公式。然而当我在 gitbook 上浏览写好的 LaTex 表达式时,发现竟然都没有渲染出来orz

后面通过查看 gitbook 的在线编辑器生成的文章源码发现,gitbook 使用的并不是标准的 LaTex

在普通的LaTex当中,行内公式就是 $...$ ,单独成行的公式则是使用两个 $ 号:$$...$$

然而在 gitbook 当中,无论是行内公式还是单行公式都是使用两个$...

两者的区别只在于行内公式中 $ 与公式处在同一行,而单行公式则是公式需要另起一行,不与两个 $ 同一行。

这对于有点强迫症的我有点受不了,如果用 gitbook 的方式书写,则不能在vs code 当中正常渲染了。太悲伤了 /_ \

不过总的来说,这个记笔记的方法还是相当高效的,再次感谢 时雨dalao 的介绍!!♪(´▽`)

如果你喜欢,也可以尝试一下喔( •̀ ω •́ )✧


You Are All Stardust.