强大的搜索、丰富的高亮、云端且免费、几近无限存储空间,这么好的网页笔记软件哪里去找?
我的笔记软件使用历程
我个人对网页的笔记软件一致情有独钟,要问为什么,因为真的很方便啊,不需要安装,收藏到快捷栏打开即用。多年来,我尝试使用了很多的网页笔记软件,从印象笔记到 Notion、语雀,甚至最新的微软 Loop、钉钉个人版(其实就是 wolai)我都有用过。但总是遇到一些劝退我的情况,比如网页版的开发混乱,新版不如旧版,以客户端为开发重心,忽视网页版用户(某象);又比如,文档不好组织,侧重于个人效率工具搭建,好似低代码平台而非文档工具,只能说不符合我的使用(Not*);更有之前良心好用,后期突然多数功能收费,会员又分成多级,让我感觉很不划算,甚至担心开发组将来的操作(中招好几个)。
我甚至尝试在 CSDN、博客园和掘金这样的平台写自己的笔记,但还是有不满意的地方:一、一些平台靠广告盈利,我看自己的笔记还需要挂着广告;二、别人的博文推荐分散自己的注意力(那些热门文章,都是标题党);三、私有和公开不容易管理(毕竟是博客平台,不是给你写笔记的)。
我又尝试了一些 Selfhost 的笔记软件,比如 HedgeDoc、思源笔记 Docker 版,但终归是有不舒服的点,但在这个过程中,我遇到了 code-server 这个自部署的 VSCode 软件,我发现其实它很适合当作笔记软件,但它的缺点也明显——太卡了,是的,我的服务器是很便宜的 1G 内存VPS,撑不住。这个时候我想到了使用 github 的 Codespaces,但我记得它是收费的,不过它有免费时长啊,我们每天上面码字才多少时间?
然而当我深入了解,我发现我一直对它有误区,Codespaces 其实是开发环境,它通过 github.dev 这个纯网页的 VSCode 连接,而这个 github.dev 是真正免费的。详细可以参考 github codespaces 的文档:https://docs.github.com/zh/codespaces/the-githubdev-web-based-editor 。如果像写笔记这种使用情景,它完全不收费,而且通过 github 的 api,可以将笔记存到 github 的仓库中。
至于为什么说它是最好用的,请看我后面的描述。
Github.dev 的优点
顺畅的国内访问
由于 Github.dev 只是个不具备社区功能的网页编辑器,地址的访问在国内还是非常顺畅的:

较小的内存占用

上图是火狐任务管理器中的内存使用情况,虽然从内存使用上来看好像和其他笔记软件差不多,但图中的情景是每个软件打开两个文档的结果。因为 github.dev 可以在内部打开多个标签页,甚至左右上下随便分屏,在打开多个笔记的情况下内存不会像其他软件一样成倍增加,这对于常开着占用大内存 IDE 的情况下查看编辑笔记有很大的优势。
强大的 Markdown 支持
不使用插件就能够进行 Markdown 的编辑,支持高亮,支持实时预览。通过插件也能支持 mermaid、LaTex 的语法支持。
基于 git 的版本管理和离线支持
使用网页版笔记软件,最让人担心的是码了半天的字,结果因为网络的断开而前功尽弃。gitub.dev 是如何解决离线问题的?它其实在浏览器内开了个 git 仓库的暂存区,我尝试关闭网络编辑文档,文档不会丢失。github.dev 是怎么解决冲突问题的?它利用的是 git 的机制,即新旧笔记有冲突的时候,如果你同步到仓库去就手动处理冲突,这比很多笔记软件按照新版覆盖旧版的方式高明很多。其次,使用 git 就说明你能轻易查看你保存的历史版本。
令人惊叹的图片资源支持
支持直接拖入图片,和粘贴剪贴板中的图片,图片会作为文件保存到 git 仓库,你甚至不需要其他的软件来设置图床。
多姿多态的插件支持
尽管纯前端的 github.dev 在插件的支持性上远不如有运行环境支持的 VSCode,但是还是有不少好用的插件。且不说插件,你还可以选择自己喜欢的主题,通过设置功能设置自己喜欢的字体。
超快的全仓库搜索
我个人觉得 VSCode 的文本搜索能力不输给 ripgrep 这个命令行工具的,而 github.dev 也拥有超快的文本搜索能力,用来搜索笔记仓库内容也是非常强大的,感觉和本地仓库搜索相差无几了。
熟悉的快捷按键与功能
你可曾想过一个网页的笔记软件还能支持多光标、字符串批量替换,这些 VSCode 编辑代码的功能可以在编辑笔记的时候使用。
Github.dev 插件推荐
推荐一些在 github.dev 就能使用的插件。
Powder 文本加密
插件商店地址:https://marketplace.visualstudio.com/items?itemName=flcl42.powder
用来加密文本中的密码,如果在一些公开的笔记中插入 Token、密码之类的,可以使用,比较方便。我没做过安全性的验证,请自行考虑。
