Obsidian → Foam → Marksman: the evolution of bi-directional linking implementaion
最早选择使用 Obsidian 是由于它简洁的界面、好用的 Markdown 编辑器和本地化纯文本存储,但随着使用越来越顺手,我意识到它为我带来的价值远不止于此。双向链接的概念和功能,帮助我将无序的笔记关联起来,笔记从此不再只是「射后不理」的记录,而有了回溯和再发现的学习价值。
自此我持续关注具有双向链接功能的软件,Foam [1] 这款 VSCode 插件使我眼前一亮,它为 VSCode 赋予了双向链接能力,使其得以扩展成一个现代知识库管理工具。代码编辑器?我灵光一闪,所谓的「双向链接」,不就是基于 Markdown 语法所实现的一种代码分析和提示吗?而如今正是 Language Server Protocol 逐步抹平语言差异、统一底层框架的时代,那何不为 Markdown 写一个 language server,实现可以在不同编辑器环境下通用的双向链接语法提示器呢?
虽然有了想法,但由于时间、技术力的限制,始终没有动手。好在一年多以后的今天,终于通过一篇博客 [2] 发现有人做出了这个东西,那就是 Marksman [3]。无需自己动手便获得了想要的东西,不仅如此,自己的理论被证实可行,这让我获得了双份的开心。下一步,我准备在 Neovim 上安装 Marksman 的插件,来实践在命令行环境下管理我的 Obsidian 知识库。
[1]: https://github.com/foambubble/foam
[2]: https://timharek.no/blog/helix-as-a-notes-tool
[3]: https://github.com/artempyanykh/marksman
最早选择使用 Obsidian 是由于它简洁的界面、好用的 Markdown 编辑器和本地化纯文本存储,但随着使用越来越顺手,我意识到它为我带来的价值远不止于此。双向链接的概念和功能,帮助我将无序的笔记关联起来,笔记从此不再只是「射后不理」的记录,而有了回溯和再发现的学习价值。
自此我持续关注具有双向链接功能的软件,Foam [1] 这款 VSCode 插件使我眼前一亮,它为 VSCode 赋予了双向链接能力,使其得以扩展成一个现代知识库管理工具。代码编辑器?我灵光一闪,所谓的「双向链接」,不就是基于 Markdown 语法所实现的一种代码分析和提示吗?而如今正是 Language Server Protocol 逐步抹平语言差异、统一底层框架的时代,那何不为 Markdown 写一个 language server,实现可以在不同编辑器环境下通用的双向链接语法提示器呢?
虽然有了想法,但由于时间、技术力的限制,始终没有动手。好在一年多以后的今天,终于通过一篇博客 [2] 发现有人做出了这个东西,那就是 Marksman [3]。无需自己动手便获得了想要的东西,不仅如此,自己的理论被证实可行,这让我获得了双份的开心。下一步,我准备在 Neovim 上安装 Marksman 的插件,来实践在命令行环境下管理我的 Obsidian 知识库。
[1]: https://github.com/foambubble/foam
[2]: https://timharek.no/blog/helix-as-a-notes-tool
[3]: https://github.com/artempyanykh/marksman