LearnData 博客:高效知识管理和进阶应用技巧
本文是 LearnData 博客的进阶篇,基础搭建流程查看主页。
自从我放弃了 Notion 等传统知识管理工具,转而尝试将博客转化为知识库以来,我发现不仅知识的复用率得到显著提升,文章的更新频率也有所增加。从 LearnData 的 GitHub 提交记录可以看出,仅在过去三周内,就进行了 11 次提交,并涉及了 47 个文件的更新。
但随着使用频率的提升,我也逐渐发现了一些效率上的问题。接下来,我将进一步介绍关于知识搜索和管理方面的 LearnData 博客进阶经验。
本地搜索与网页端搜索的权衡
在 LearnData 开源笔记 的早期,只有 37 篇笔记和一些博客文章。当我开始将笔记主题化,用短篇形式记录具体知识点时,内容数量迅速增长,例如,关于 Docker 容器的部署笔记就超过了 20 篇。
随着笔记量的增加,传统的全文本搜索方法开始显得力不从心,我越来越难找到需要的文章。因此,我转而采用了 LearnData 博客集成的 Algolia 和 SearchPro 这两款节点搜索工具进行文章的查询和管理。与 VS Code 的全文本搜索相比,节点搜索不仅提高了搜索效率,更使得大量文章的管理和定位变得更加便捷高效。
尽管我曾尝试利用 Algolia API 实现本地搜索功能,但由于过于复杂的程序结构和不尽如人意的效果,我最终决定专注于网站端的节点搜索,以此高效地定位所需知识点。
网页查询与本地文件修改的融合
虽然用网站搜索文章效率极高,但它引出了一个新问题:如何修改找到的网页内容?
之前,我需要根据网页链接在本地逐一对照文件,才能进行修改,这一流程随着笔记数量的增长变得异常繁琐。我甚至尝试过将笔记同步到双链笔记工具如 Logseq、Obsidian 中进行管理,但这样做既背离了 LearnData 旨在简单、高效的初衷,同时也缺失了网页博客的分享特性,并容易导致文章结构混乱。
最终,我采取了一种新的方法:通过脚本将网页路径直接转换为本地路径。这样一来,当我在网页端发现需要修改的内容时,只需运行脚本即可快速定位到本地文件,让网页查询与本地文件修改完美融合。
如果你安装了 Quicker,可以通过安装 博客定位本地 动作来实现这一功能。这个脚本不仅适用于 LearnData 项目,同样可以应用于其他静态博客。
网址链接转换为本地路径的原理如下:
- 获取当前网页的网址。
- 替换网址中的固定域名
https://newzone.top/
为空,并将网页路径的/
转换为本地路径符号\
。 - 以
.html
为分界,取分割后列表的第一部分。 - 在文本开头添加本地项目路径
D:\Backup\Libraries\Documents\GitHub\LearnData\docs\
,并在结尾添加.md
。 - 为解决目录文档路径问题,将
\.md
替换为\README.md
。
VS Code 文件排序
有时,我们可能需要在海量文章中定位最新的文件。VS Code 虽然默认按文件名排序,不支持自定义排序,但以下方法可以帮你实现按最新修改日期排序,优化你的文件管理效率:
通过设置修改排序:
- 使用快捷键
Ctrl+,
或通过菜单「文件」>「首选项」>「设置」进入设置。 - 在设置中搜索
Explorer: Sort Order
并选择modified
选项,即可使文件按最后修改日期降序排列。
- 使用快捷键
使用 VS Code 扩展:
- 安装我开发的 Explorer Sort Order 扩展。
- 使用热键
Ctrl+F10
即可在名称排序和时间排序之间快速切换。
尽管社区早在 2017 年的 Explorer/Opened Editors Sorting 讨论中提出了自定义排序的需求,但由于官方尚未采纳相关解决方案,我们仍需依赖这些小技巧来优化文件管理体验。
笔记与博客文章的转换
在知识管理和内容创作的过程中,我们经常会面临从零散笔记到成熟文章的转换。一篇好的博客文章,往往起始于一系列简短、结构松散的思维碎片。为了将这些初步思考转化为对外 RSS 分享的内容,我采用了一个标记系统来管理笔记的 RSS 状态。
在文章的元数据中,我会添加 article: false
的标记,将其定义为个人笔记。这些笔记通常不适合 RSS 分享,因为它们可能只包含了未经整理的思考或信息。但随着内容的不断完善和丰富,一旦笔记达到了一定的质量和深度,我便会移除该标记,并加入 date
标签,以标示文章的创建或修改日期。这一过程不仅帮助我管理文章的发布流程,也确保了只有经过深思熟虑和精心打砂的内容才会对外发布。
此方法的优势在于其灵活性和高效性,适用于各种支持元数据标记的博客系统,如 LearnData、VuePress 等。通过这种方式,我能够更加灵活地控制哪些内容应当公开,哪些内容仍需保留在个人知识库中。
主题笔记的引入
LearnData 的另一大改变是引入了主题笔记的概念,它允许部分文章同时在博客中更新,并在特定领域的树状栏中展示,打破了传统主侧边栏的限制。
以文章「飞书迁移记录」为例,它被放在 apps/tutorials/feishu
路径下,在侧边栏中被归类为应用笔记,而不仅仅是博客文章。通过在文章中加入 article
标签,文章内容既能在博客页面展示,也能出现在 RSS 订阅中。
这种分类方式的优势在于,我可以将新文章有效地归类于树状侧边栏中。同时,article
标签下的文章按 data
排序,时间越新,文章越靠前。因此,只需为笔记添加创建时间 date
标签,文章便会同时出现在 https://newzone.top/article/
、https://newzone.top/blog.html
以及 RSS 地址 https://newzone.top/rss.xml
下,并且不会干扰原有的排序逻辑。
结语
随着 LearnData 博客的持续优化,改变了一些我对双链笔记的看法,它在海量笔记的管理方面优势明显。但我仍然认为,双链笔记并不适合知识库。
这是因为,在大多数情况下,笔记的积累变成了一种简单的堆砌过程,而不是一个持续的修改、整合和消化的过程。真正的知识管理不应该仅仅是对信息的收集和堆积。拿这篇文章来说,初稿早在 2023 年 12 月就已完成。但为了对外分享,我必须将那些只有我自己能理解的内容进行重构和规范化。正是在这个过程中,我对 LearnData 的思考变得更加清晰,并且想出了用脚本一键定位文章的新方法。如果这篇文章仅仅是我的私人笔记,它可能就会永远停留在初稿阶段,我也不会意识到进一步利用它的必要性。
在今天这个双链笔记看似无所不能的时代,作为坚持博客形式的少数派,我的做法可能会被一些人视为不必要的复杂和折腾。然而,正是用博客管理知识库的方法,让我的个人效率得到了显著的提升。希望我的这些经验和思考,能为同样致力于高效知识管理的朋友们带来一些新的启示和帮助。
- 0
- 0
- 0
- 0
- 0