跳至主要內容

LearnData 博客:高效知识管理和进阶应用技巧

博客约 2198 字大约 7 分钟...

本文是 LearnData 博客的进阶篇,基础搭建流程查看主页。

自从我放弃了 Notion 等传统知识管理工具,转而尝试将博客转化为知识库open in new window以来,我发现不仅知识的复用率得到显著提升,文章的更新频率也有所增加。从 LearnData 的 GitHub 提交记录可以看出,仅在过去三周内,就进行了 11 次提交,并涉及了 47 个文件的更新。

但随着使用频率的提升,我也逐渐发现了一些效率上的问题。接下来,我将进一步介绍关于知识搜索和管理方面的 LearnData 博客进阶经验。

本地搜索与网页端搜索的权衡

LearnData 开源笔记open in new window 的早期,只有 37 篇笔记和一些博客文章。当我开始将笔记主题化,用短篇形式记录具体知识点时,内容数量迅速增长,例如,关于 Docker 容器的部署笔记就超过了 20 篇。

随着笔记量的增加,传统的全文本搜索方法开始显得力不从心,我越来越难找到需要的文章。因此,我转而采用了 LearnData 博客集成的 Algolia 和 SearchPro 这两款节点搜索工具进行文章的查询和管理。与 VS Code 的全文本搜索相比,节点搜索不仅提高了搜索效率,更使得大量文章的管理和定位变得更加便捷高效。

左侧为 VS Code 本地搜索,右侧为网站搜索

尽管我曾尝试利用 Algolia API 实现本地搜索功能,但由于过于复杂的程序结构和不尽如人意的效果,我最终决定专注于网站端的节点搜索,以此高效地定位所需知识点。

网页查询与本地文件修改的融合

虽然用网站搜索文章效率极高,但它引出了一个新问题:如何修改找到的网页内容?

之前,我需要根据网页链接在本地逐一对照文件,才能进行修改,这一流程随着笔记数量的增长变得异常繁琐。我甚至尝试过将笔记同步到双链笔记工具如 Logseq、Obsidian 中进行管理,但这样做既背离了 LearnData 旨在简单、高效的初衷,同时也缺失了网页博客的分享特性,并容易导致文章结构混乱。

最终,我采取了一种新的方法:通过脚本将网页路径直接转换为本地路径。这样一来,当我在网页端发现需要修改的内容时,只需运行脚本即可快速定位到本地文件,让网页查询与本地文件修改完美融合。

LearnData 博客页面直接跳转到本地

如果你安装了 Quicker,可以通过安装 博客定位本地open in new window 动作来实现这一功能。这个脚本不仅适用于 LearnData 项目,同样可以应用于其他静态博客。

网址链接转换为本地路径的原理如下:

  1. 获取当前网页的网址。
  2. 替换网址中的固定域名 https://newzone.top/ 为空,并将网页路径的 / 转换为本地路径符号 \
  3. .html 为分界,取分割后列表的第一部分。
  4. 在文本开头添加本地项目路径 D:\Backup\Libraries\Documents\GitHub\LearnData\docs\,并在结尾添加 .md
  5. 为解决目录文档路径问题,将 \.md 替换为 \README.md

VS Code 文件排序

有时,我们可能需要在海量文章中定位最新的文件。VS Code 虽然默认按文件名排序,不支持自定义排序,但以下方法可以帮你实现按最新修改日期排序,优化你的文件管理效率:

  1. 通过设置修改排序

    • 使用快捷键 Ctrl+, 或通过菜单「文件」>「首选项」>「设置」进入设置。
    • 在设置中搜索 Explorer: Sort Order 并选择 modified 选项,即可使文件按最后修改日期降序排列。
    VS Code 文件排序设置
    VS Code 文件排序设置
  2. 使用 VS Code 扩展

尽管社区早在 2017 年的 Explorer/Opened Editors Sortingopen in new window 讨论中提出了自定义排序的需求,但由于官方尚未采纳相关解决方案,我们仍需依赖这些小技巧来优化文件管理体验。

笔记与博客文章的转换

在知识管理和内容创作的过程中,我们经常会面临从零散笔记到成熟文章的转换。一篇好的博客文章,往往起始于一系列简短、结构松散的思维碎片。为了将这些初步思考转化为对外 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
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3