最好的电子笔记本:GitBook + Typora

2018-07-25 更新:GitBook好像支持插件了

LaTeX 公式现在能显示了

2018-05-28 更新:对于 GitBook 改版后的应对方案

改版内容:

  • 换了新界面,确实比以前界面好看了
  • 不再支持以前的所有插件(latex)
  • 不再支持构建电子书

应对方案:

使用 Travis CI + GitHub Pages 自动构建并发布

参考阅读:

补充说明:

  1. deploy 的详细参数请见这篇文档
  2. 成功部署后,网址为 https://[你的 GitHub用户名].github.io/[项目名称] ,例如我的是 https://the0demiurge.github.io/Notes,如果要设置 CNAME 的话,就添加一条 CNAME 为 [你的 GitHub用户名].github.io
  3. 需要自动构建并发布电子书,先使用 gitbook-cli 构建好各种格式的电子书和 html 文件,将构建好的电子书放到 html 文件的文件夹内,删掉 html 文件夹中的 .gitignore,Travis 将会把你的电子书上传,比如 我的笔记

我的笔记:


以下是原文:

前言:

作为爱折腾的Linux 用户,有了做笔记的需求,免不了多方调查。我自己对于笔记本的基本需求包括如下:
    1. 安全性:笔记本一定要托管在云端,而这个云端一定要足够可靠
    2. 免费,不用多说
    3. 便于迁移:我有一天找到更好的笔记本不需要很复杂的劳动就能迁移所有笔记
    4. 方便:最好支持Markdown,不需要复杂的部署
    5. 富文本:肯定要支持图片、超链接、代码片(语法高亮),最好能支持LaTeX
    6. 多平台支持:Linux、Mac、Windows、Android、iOS、网页最好都能支持

常见笔记本的比较(收费产品不考虑):

OneNote:

  1. 可迁移性差
  2. 不支持markdown 和LaTeX
  3. 多平台支持最好(网页版做的非常好)

蚂蚁笔记:

  1. 免费与方便不可兼得(免费的话就需要在服务器上自行部署)
  2. 多平台支持最好(与OneNote相同)
  3. 支持markdown、LaTeX

GitBook:

  1. 安全性:基于git,不用多说了吧,可以分布式备份,托管GitHub 一份;多个设备都可以本地各保存一份;可以同时保存到其他代码托管网站,比如bit bucket、gitlab 等
  2. 桌面端的多平台支持:三大主流桌面操作系统均有git book 官方出品的编辑器;GitHub 也有桌面客户端,网页版git book 编辑器也不错。不过移动端略显尴尬,安卓上虽然有pocket git 和Easymark 分别起到了git 和markdown 的功能,却十分不方便,所以安卓还是首选OneNote 处理复杂笔记任务。网页端的GitHub 编辑器操作体验不佳,因为文件树(在git book 中为目录)并不能很好地显示,创建删除文件非常繁琐。
  3. 方便迁移(可以与GitHub 仓库关联,本来就是一堆markdown文件,迁移到类似于GitHub pages 的博客也不会麻烦)
  4. 富文本支持:插件繁多,可以轻松嵌入LaTeX、graphviz、plant UML,数学、数据结构、软件工程等的福音
  5. 与GitHub 结合,比如jupyter notebook 显示不出来的,可以直接链接到GitHub 去显示(jupyter notebook 本身也可以导出为markdown)
  6. 导出为PDF/mobi/epub:杀手级应用,本来就是电子书制作工具,把自己的笔记保存为电子书离线观看、分享,随时阅读,是一件非常惬意的事情

使用方法:

配合typora进行markdown 写作,可以:
  1. 实时预览LaTeX 公式
  2. 无需分栏便能实时预览markdown
  3. 开启侧边栏选项之后 ,以文件夹的方式打开你的Git项目,可以以多级树状目录显示你的笔记,非常便于本地管理和阅读。以后打开typora都可以在左下角点击“open folder”直接打开整个笔记本

面向高级用户:

  1. 首先去nodejs官网下载并安装nodejs
  2. 安装gitbook-cli
  3. 安装katex
  4. 安装gitbook-summary自动生成目录
其他插件推荐:
  1. function-plot:画数学图像插件(类似于MATLAB 的plot)
  2. gitbook-plugin-graphviz:画出graphviz图
  3. puml:画plant UML
  4. expandable-chapters-small:可折叠左侧的章节目录(更像文件夹了)
  5. copy-code-button:给自己的代码片添加一个复制按钮,方便复制
  6. alerts:可以添加提示框,课本里常见的那种
可以查看我的git book 笔记GitHub 源码

面向初级用户:

初级用户只需要最简单的功能,不了解命令行的使用,那么可以:
  1. 去gitbook和GitHub官网下载客户端直接编辑
  2. 手动生成目录
  3. 放弃git book,使用OneNote

此博客中的热门博文

免费爬墙网站项目(ShadowSocksShare)开发简记

Ubuntu Gnome 酷炫完整指南(一):小工具篇