【闲谈】Obsidian 中的 JS

  起这个标题有种完全把控不了的噱头成分,但也请大家进行友好的讨论;

  楼主是一名普通的文科生,所以不太有相关的前端知识,只是由于我在使用中出现了相对应的问题,有找寻到一些有关方法,零零散散的写在了本地 Obsidian 中,想着不如拿出来与各位分享讨论一下,以改进我对此话题片面的知识和理解;

1 个赞

(续)

① 楼主眼中的 Obsidian

  Obsidian 可以看作一是个套着浏览器壳子的笔记管理软件(基于浏览器模型的笔记管理工具),以Markdown格式作为主要组织笔记构成,使用 Js/Ts 插件可以扩展其功能,比如支持更加复杂/高效的数据展示或者自定义脚本;
  或者可以理解为Obsidian是一个存放笔记数据仓库,既具有 二维表 简单直观的数据组织方式,也具有 一维表 的可分析性,达到更深维度的分析。

② Js 在 Obsidian 中的引入

【经验分享】 Js 在 Obsidian 中的花式引入 - 经验分享 - Obsidian 中文论坛

  所以通过 JS 调用渲染功能,可以扩展 Obsidian 中 Markdown 功能的同时也不需要过多额外的软件,可以从扩充自由编写的 API 方面解决各种问题,也不影响笔记内容并实现动态效果;
  在此可以说明的是,使用 JS 优化obsidian的内容组织时,以“行内内联”、“代码块”、“外部引用” 的方式都可以实现,对于复杂的逻辑代码,使用外部引用会使得阅读体验更加友好;

  • 所以在扩展Obsidian中实现动态的效果由两个步骤组成
    • (1)载入 JS 的 API 模块 [1]
    • (2)优雅的调用 JS 代码实现内容扩展 [2]

  1. CustomJS 优雅的执行模块化 JavaScript ↩︎

  2. Dataviewjs 获取当前库在系统中的绝对路径 ↩︎

Obsidian 数据粒度及组织范式?

Obsidian 在设计时候确定的粒度问题一般来说,极大左右了用户使用数据组织形式的倾向;从这篇文章中摘来的部分如下,或许会存在断章取义的理解,也请各位交流自己的见解:

  1. Obsidian的基本管理粒度是 页面 —> 章节(小标题) —> 块
  2. 前期受控的检索粒度,才能使得 ”以Md格式作为主要组织笔记构成“ 的数据被高效检索;

所以需要用户不断的通过控制检索符号(分类、标签、块链接等等)的分配,才能被高效检索利用,控制自己对应合理粒度(什么时候用页面,什么时候用章节,什么时候需要拆分页面或者章节)也是因人而异,用起来永远比用的好更重要。

Obsidian 的数据检索倾向?

在这方面我没有什么实践,能做到的仅有将我觉得”有趣“的问题和讨论列出来;
既然在上一个标题下谈论的是《应该以优秀的数据组织笔记》但是如果确实笔记已经被构成了混乱的形式,那么我觉得可以继续往下读

我简单表述一下我在这篇文章中理解到的信息

  1. Query 擅长查询内容,DataviewJs 擅长查询文件属性,不擅长查询内容;
  2. 两者可以兼容,但是效率低下,因为需要 DataviewJs 先遍历文件内容;

不过我觉得如果或许以爬虫的角度来看定位元素的几种方式,或许遍历Dom内的内容是必须的,除非你的文件具有组织模板,能通过通配来缩小便利范围?


(摊手 这真是个怪圈)

1 个赞