Skip to content

Obsidian 插件开发

背景

基于 Obsidian 做本地笔记,且通过 vitepress 打包本地 某些目录 下的笔记, 做成博客。

官方文档中关于侧边栏的配置必须将每个文档的路由进行手动配置,我的文档很多,又懒得去操心侧边栏每次新建文件,或者修改路径都需要去 人肉 更新侧边栏配置信息。很麻烦。

为了能够专心的写我的笔记而不去关心侧边栏、导航栏。我在想是否存在一款插件能够帮助我解决这个问题? 于是我去 ob 的插件市场和 github 搜索了一番... 发现并没有相关的插件。

所以.... 我尝试去写了一个 Ob 的插件来帮助我解决 Vitepress 的配置繁琐问题。

本系列文章将记录我是如何从新手快速入门并实现这一插件需求的。

(此时我的前端知识已经忘记的所剩无几.... 甚至我还使用 Java 来写了一版获取配置的代码。 但是使用上还是需要我自己手动去 CV )

这是官网的样例:

export default {
  themeConfig: {
    sidebar: [
      {
        text: 'Section Title A',
        items: [
          { text: 'Item A', link: '/item-a' },
          { text: 'Item B', link: '/item-b' },
          ...
        ]
      },
      {
        text: 'Section Title B',
        items: [
          { text: 'Item C', link: '/item-c' },
          { text: 'Item D', link: '/item-d' },
          ...
        ]
      }
    ]
  }
}

我想把它变成动态的,或者是自己基于我的操作就可以实时更新的,或者是我有一个触发按钮能够帮助我解决这个繁琐且恶心的事情。帮助我提升一下效率,于是我去了解了一下 Obsdian 的插件开发

需求

  • 这款插件需要有一个插件设置,,让用户可以自己指定 目录 (能够拿到 Vitepress 的配置路径),
    • 设置那些路径参与编译
    • 那些路径不参与编译
  • 按钮
    • 一键更新 config

快速入门

这里就不翻译官方文档中所说的东西了.... 有兴趣的话自己去看。

  1. 我下载了官方示例的 GitHub - obsidianmd/obsidian-sample-plugin 工程, 开始尝试做一下属于自己的插件。
  2. 参考官方文档: 构建你的第一个Obsidian插件
  3. 此时我发现,我可以直接基于 vitepress,去引入 Obsidian 的相关包来实现这个功能,当然也可能有一些其他好用的包也可以实现这个功能。
  4. 未完待续....

waitingresult.com