使用 Markdown 和 Git 的出色笔记系统(第 1 部分)
一位开发人员的笔记习惯的演变……
我目前使用一种非常简单且有效的笔记系统,包括以下内容:
- Markdown 文件
- Git
- Shell脚本
我想解释一下它的工作原理,希望能帮助其他人制作自己的笔记。但首先,我想再多谈谈我过去做过的许多其他笔记方式,以及它们的优缺点,以及为什么我最终选择了现在的系统。我认为这将有助于更好地理解 Markdown 文件 + Git 的优势。
纸质笔记本
以前,我用纸质笔记本记笔记。我总是遇到一个问题:每当一些重要的信息被记录下来,却因为时间流逝而忘记时,我就很难确切地知道它到底是什么:
a) 当我写下它时
b) 在哪里可以找到它
事实是,笔记本会被写满,而当我想回顾时,我可能正在使用完全不同的笔记本,这使情况更加恶化。
纸质笔记本还有其他缺点。我养成的一个习惯是列待办事项清单。在纸上列待办事项清单似乎不值得费力,因为你要么把前几天的任务延续到新的一天,要么试图把一个清单连着写好几天。对于延续式列清单的方法,手动将文本从一页复制到另一页感觉很浪费时间(因为它确实如此)。对于单页列清单的方法,随着新任务的添加,你不可避免地会用完该页的空间,所以你必须做一件奇怪的事情,预留几页空白页。
所以,由于这些以及其他一些问题,很多年前我就不再使用纸质笔记本了。实际上,我大约17年前就开始了我的科技生涯,很久以前就放弃了纸质笔记本。
电子邮件
Outlook 内置了笔记、待办事项列表和日历。我以前做笔记的方式是给自己发邮件,然后标记需要处理的邮件,或者将其转换为笔记、待办事项或日历事件。
我很快就放弃了这个系统,因为它感觉太杂乱了。在层出不穷的新邮件中塞满笔记和待办事项,只会让整个体验变得混乱不堪。
OneNote
每个人都曾经使用过 EverNote 或 OneNote,我也养成了这个习惯。这些软件的一大优势是它们能够保存附件和与外部世界的链接。
我一开始觉得OneNote 太棒了。笔记“存储在云端”的 OneDrive 里,因此随时随地都可以访问。我可以用手机、平板电脑或笔记本电脑记笔记。我可以分别使用个人和工作用途的笔记本,但使用同一个系统。
然后,我遇到了一系列与知识产权和安全相关的问题。我的公司实际上禁止我们在公共云上做笔记。如果我指向一个工作管理的 OneDrive 实例,我仍然可以使用 OneNote。但这让“随处笔记”的承诺不再现实,因为我只能使用通过 VPN 连接到工作网络的设备。
尽管如此,这个问题还是很容易解决。
然后,一个新的问题出现了。我的笔记习惯发生了变化。我不再只在会议或任务清单上做笔记。我是一名软件工程师。我开始在笔记中使用等宽文本。我有一些 Java、BASH、JS、XML、JSON 等代码片段想要记录下来。很多时候,我希望以某种方式格式化它们(空格而不是制表符!),而这种方式在 OneNote 中实现起来非常笨拙。
原始文本文件
此时,我将其转换为原始文本文件。我编写了一个非常简单的 Bash 脚本,以便可以在终端中输入注释,以便快速记录:
$ n 'Had a meeting with Cindy today'
我的脚本会自动为笔记添加时间戳,并将其保存到以当天日期命名的文件中。如果该文件尚不存在,它会创建它。如果该文件已存在,它会将其附加到文件末尾。
这是一个非常简单的系统,不需要太多的开销就能提供一些巨大的优势:
- 袖珍的
- 易于搜索(使用 grep)
- 由于代码片段是文本,因此对代码片段有很好的支持
但也存在一些缺点:
- 无法链接到外界的任何内容(没有可点击的 URL)
- 没有图像、音频、视频等。
因此,这个系统对我来说运行良好,持续了大约一年,但我发现我有许多白板绘图的照片或从 LucidChart 导出的图像文件,甚至还有测试计划等文件附件,我只能在文本笔记中顺便提及,而不是直接包含它们。
所以,我进化了。敬请期待本系列的下一篇,我会详细解释我是如何进化的。
文章来源:https://dev.to/scottshipp/an-amazing-note-takeing-system-with-markdown-and-git-part-1-48b1