![345864e9e627de8d8f07acd70595aa5b.png](https://i-blog.csdnimg.cn/blog_migrate/407b55a789acf3f6c8ca4220053312ef.png)
用过很长一段时间的evernote和onenote来做笔记,记笔记,想法,task,或者摘录网络上的网页信息。总体来说两款笔记软件都十分优秀。后来由于evernote免费版只支持两个设备同步,onenote对linux的支持不够好,慢慢地放弃了这两款软件,转向简单而轻巧的Markdown。
Markdown的语法很简单,支持章节标识,代码块引用,也支持复杂的数学公式和各种图表。同时可用的开源软件众多,夸平台能力超强。初次使用markdown,会被同步、note管理等问题所困扰。简单罗列一下,使用markdown管理自己的知识结构,需要以下几个方面的支持:
![1e65d9c23cb73dd8a894b85f03b1870e.png](https://i-blog.csdnimg.cn/blog_migrate/aaa9952171c08905a2a6388ce149d3e2.png)
编辑
编辑部分所要达到的基本要求是对markdown语法所见即所得的模式,同时能导出为各类文件格式,比如常用的pdf,jpg等等。这里我选择了Typora,安利部分就免了。这里说说两个优点:
- 全文搜索
全文内容搜索的调出可以通过鼠标滚轮或者Ctrl+Shift+F来实现。当我们只记住笔记的几个关键字时,就可以用这个功能来找到对应的笔记。
![e34d6811f35fdf8f878057344bc05557.png](https://i-blog.csdnimg.cn/blog_migrate/6f31b5bf594d1199d48e9e9e064a6e90.jpeg)
- 图片位置的处理
Markdown的特色之一就是支持图片显示,Markdown文件中通过链接的形式指向硬盘上的一个图片文件。我们需要对这些图片进行统一管理。还有一种比较常见得场景,我们使用截图软件截取了某个区域,然后直接粘贴在markdown文件中,我们希望截取的图片可以放在某个指定的目录,同时链接也指向这个目录。这时候只需要打开软件的配置选项,在图像中进行下面的配置。那么所有的图片都会在_V_images这个文件夹中。
当然,这样管理的缺点也很明显,如果图片不再被使用,我们就不得不手动对该文件进行删除。数量较多时,可以使用一些脚本来进行清理。
![49282740f822a4362adb4769a779cdc3.png](https://i-blog.csdnimg.cn/blog_migrate/ae300db9b89c11076db46cca9b694ee3.png)
![1ae73f52de98cc273f71b968cd0f8963.png](https://i-blog.csdnimg.cn/blog_migrate/ca1eb376e6b8e993b46401df43e0c6d0.png)
存储与同步
存储有很多实现方式,但基本要求是分布式、跨平台。
用了一年多的seafile,没毛病。当然也可选onedrive,iCloud等等,好用不贵。最近刚开始用nextcloud来管理文件。seafile和nextcloud两者优缺点都显而易见,各有千秋,这里不做讨论。还有一些开发者喜欢用github来同步文件,也是一个很好的选择。
索引
索引的基本要求是全文索引。目标是只记住某几个关键字的情况下能搜索到对应的笔记。在编辑部分已经有一些介绍了。还有一款网页端的笔记管理软件:Raneto。用Docker来搭建比较方便,直接把所有笔记放在content中就能索引了。我在这里是用rsync把nextcloud上的vnote文件夹同步到content中,设定一个cron就行(是否也可以软连接content到vnote?我试了没成功,感兴趣的同学可以试试)。
![892ee8b0dd6eb5fd29250a0257e3abaf.png](https://i-blog.csdnimg.cn/blog_migrate/30262ed3996f91e9988ad1f71f1f6bf5.jpeg)