我一直是印象笔记的用户,但是苦于它一直不支持 markdown 语法,于是就开发了一个简单的命令行工具 evermark,可以将 markdown 笔记发布到印象笔记。
GitHub 地址:https://github.com/akuma/evermark
我在开发过程中获得的一个教训是,Node.js 有非常多的开源库可供选择,但在有多个同类开源库可以选择时,不要只看 star 数高就使用,应该尽量在开发是否比较活跃、open issues 是否较少、提问题后的响应度、是否方便开发扩展等多个方面综合评估后选择。
比如转换 markdown 的开源库就有不少,因为事先没有做好考察,所以前后更换了三个库,浪费了不少时间。最初使用的是 star 数最多的 marked,但是随即遇到一些 bug,提了 issue 也没反馈(现在它有将近 300 个 open issues)。然后我就切换到了 remarkable,结果发现这个库也已经不活跃了,而且这个库的几个主要贡献者好像不满于只贡献了很少的代码的所有者的一些做法,另外搞了一个 markdown-it项目。最终我选择了 markdown-it,一方面了它问题少且一直有活跃的开发者在维护,另一方面它还有丰富的插件,不满足时自己也可以方便的写插件扩展。比如我为了实现印象笔记的 TODO 列表,就写了一个小插件 markdown-it-enml-todo。
目前这个工具在处理包含流程图、序列图、数学公式的笔记时速度还是有点慢的,但基本够自己使用了,所以厚着脸皮拿出来分享给大家。 可能还有不少问题,欢迎感兴趣的同学提 issue 或 PR,一起来改进吧。