Obsidian与SuperMemo联用(四)

在之前系列文章中,我有讲解了SuperMemo在学习场景中与其它软件协同的操作流程,包括如何在SuperMemo中导入Obsidian笔记进行增量学习的具体操作。很快几个月过去了,通过对Obsidian软件这段时间的使用和学习,我现在对两个软件的结合使用又有了一些新的想法,因此便有了此文。

如果你还未阅读原文,可参考如下原文链接,来了解SuperMemo在学习中的协同使用流程:

一只小胖子:SuperMemo实践闭环(1)-学习流程及时间管理19 赞同 · 14 评论文章

在两个软件联用的场景中,SuperMemo主要是在于它强大的内容排序,内容筛选,优秀的内容排重及学习安排调度算法,以及直观方便的操作界面。它在此文担任学习安排,增量处理,间隔复习的角色,Obsidian主要完成笔记整理、内容聚合、知识双链,以及思维发散的作用。

由于对Obsidian与SuperMemo之前的一番探索,以及各种其它原因,我在集成方案上排除了一直在关注的 RemNote / ANKI / Mochi 等软件方案;这里我们还是直接开始具体实践吧!

一、内容导入或大纲导入

如上链接原文所述,对 PDF 材料提供了两种SuperMemo学习方案,一种是用工具转换pdf到html,并导入SuperMemo学习;另一种是导入pdf文件大纲至SuperMemo作为索引并借助于Keyboard Maestro 或AHK等工具来辅助操作。对于Obsidian笔记内容亦是如此,因此如下介绍obsidian笔记在SuperMemo中的两种学习方法,一种内容导入,一种大纲导入。

1.内容导入

内容导入整体思路:先把markdown转化为html,用IE打开并导入SuperMemo。因此借助了如下的两个小工具,它们功能上一个转化md至html,另一个托管html图片用于网络访问:

GitHub - krissrex/obsidian-html: A simple tool to convert an Obsidian vault into HTML

在安装了 Python 的机器上,Python自带了一个WEB服务器SimpleHTTPServer。 我们可以很简单的使用 python -m SimpleHTTPServer 来快速搭建一个http服务,它提供一个文件浏览的web服务。你也可以用obsidian的static file server 插件来搭建http服务。这里我直接用python演示了。

先修改obsidian图片引用链接,并开启服务器,不然访问不了图片。
1.说明:按如下形式,替换markdown笔记中的图片链接。

![[Pasted image 20210628195122.png]] 用visual studio code替换为下一行样式:


2.说明: 进入bash环境及Obsidian图片附件目录,用python后台开启http服务。

Likey@Laptop 附件 % conda deactivate               
Likey@Laptop 附件 % pwd                            
/Users/Likey/Documents/ObsidianDoc/附件
Likey@Laptop 附件 % nohup python -m SimpleHTTPServer 8000 &
[1] 70816
Likey@Laptop 附件 % appending output to nohup.out

3.访问如上图片URL链接,确保能正常显示图片,最后把要处理的md笔记放入vault库的html目录。

使用oboe命令转换markdown文件,out目录生成md文件对应网页。
说明:转换当前的vault内html目录(放了要处理的md笔记)中的md,并生成至out目录。

Likey@Laptop ObsidianDoc % pwd/Users/Likey/Documents/ObsidianDoc

Likey@Laptop ObsidianDoc % oboe 
usage: oboe [-h] [-o OUTPUT_DIRECTORY] [-t TEMPLATE]
            [-d [SUB_DIRECTORIES ...]] [-f FILTER [FILTER ...]] [-e]
            [-l LOG_LEVEL] [-b]
            vault
oboe: error: the following arguments are required: vault

说明:转换vault库下html目录中的md至html,并放在out目录,可加-f参数用标签过滤。
Likey@Laptop ObsidianDoc % oboe . -o ./out -d html

INFO: Found 4 notes!           (/usr/local/lib/python3.9/site-packages/oboe/Vault.py)INFO: Filtered out notes containing tags: []INFO: Created Vault object with root "/Users/Likey/Documents/ObsidianDoc"

最后在out目录生成了包含图片的html,用IE打开out目录中的html,导入至SuperMemo中即实现了Obsidian 笔记的内容导入。这样你便可以用操作网页的方式来操作Obsidian笔记了。


2.大纲导入

同SuperMemo中的pdf处理类似,我比较推荐导入材料大纲到SM软件来处理,因为我们的笔记内容会经常修改,这样SM软件与Obsidian的笔记内容会经常不一致;而且所有的笔记放入SM直接处理,可能会在后面的渐进学习时,造成内容冗余,丢失原文的上下文语义;同时在Obsidian中强大的双链及引用功能,也没有了用武之地。关于这些,我在之前的视频有讲解到一些,你可以参考如下的视频看看。


SuperMemo18 操作介绍(五) - 增量学习及提取制卡

一只小胖子的视频

 · 2474 播放


那接下来,我们就对Obsidian大纲导入SuperMemo及后续的使用,来进行具体的一番操作:

1.说明:如下为笔记原文结构,只作示例并作了内容省略,主要是每个笔记都含Tags:文本串

## 大纲
Tags:
`=this.file.tags`
---

### 这是标题1
#### 这是标题1.1

### 这是标题2
#### 这是标题2.1
##### 这是标题2.1.1

2.说明:我用text expand语法及模板来生成内容,$header:.+不生效,因此直接写死3-6级标题了

```expander
/^(.*)Tags:(.*)
/

$header:###
$header:####
$header:#####
$header:######

$filename::obsidian://open?vault=ObsidianDoc&file=$path |-

```

最终生成的结果如下图所示:我们把内容拷贝至SuperMemo中,并按|-符号Split处理即可:

处理后生成结构如下图所示:我们用之前SuperMemo系列操作中 KM 脚本辅助方式来阅读即可。同时我们还可以在每次执行expander代码块,或使用Obsidian的TOC插件生成新的TOC信息后,酌情手工同步新TOC信息至SM软件中,来保持Obsidian与SuperMemo的TOC一致。

这样便可通过 SuperMemo 来记录我们的学习进度及数据,智能安排要学习的笔记内容,或者由我们自己在分支中检索、筛选、排序、取内容集合、或延期后,再点击 Learn 来开始我们的学习,让我们的学习更有计划性及可见性。

在SuperMemo中点击 Learn开启学习时,我们借助了KM的辅助插件来跳转至源学习材料来学习,比如跳转至源PDF、网页、视频、Obsidian笔记等。而且跳转至Obsidian的笔记时,通过如下的插件是可以支持定位至笔记的标题及块位置的。

Advanced Obsidian URl 插件官方链接及写法如下:

Vinzent03/obsidian-advanced-uri: Advanced modes for Obsidian URI (github.com)

Examples:

Write "Hello World" to "my-file.md": 
obsidian://advanced-uri?vault=&filepath=my-file&data=Hello%20World

Overwrite "This text is overwritten" to "my-file.md": 
obsidian://advanced-uri?vault=&filepath=my-file&data=This%20text%20is%20overwritten&mode=overwrite

Open workspace "main": 
obsidian://advanced-uri?vault=&workspace=main

Open heading "Goal" in "my-file.md" (Important: Without syntax, only Goal): 
obsidian://advanced-uri?vault=&filepath=my-file&heading=Goal

Open block-id "12345" in "my-file.md" (Important: Without syntax, only 12345): 
obsidian://advanced-uri?vault=&filepath=my-file&block=12345

Append "Hello World" to today's daily note. 
obsidian://advanced-uri?vault=&daily=true&data=Hello%20World&mode=append

而在后面探讨中,我们着重再讲一下增量处理,间隔复习相关的知识。


二、增量处理,间隔复习

在学习中增量处理及间隔复习是有多种方案的,它们原理上大都是通过队列、优先级、随机及权重因子来对内容进行排序,并返回给用户。以下我只介绍下我使用过的两种常见的方案吧。

1.Obsidian插件方案

还记得之前介绍的Incremental Writing以及Spaced Repetition插件吗?之前在Obsidian单独使用场景中,我会采用这两个插件来实现增量处理及间隔复习功能。但这两个插件相比于今天的主角 SuperMemo 而言,功能上还是太简陋,个人觉得它们还是比较适合待办笔记安排或简单的算法复习等场景

同样,在前面我们抛弃了ANKI 的方案,因此这里也不再介绍Obsidian与ANKI的整合。之前有一篇文章,我大体介绍了增量处理插件IW的使用,具体参考链接如下:

一只小胖子:Obsidian 阅读及笔记工作流程(一)22 赞同 · 2 评论文章

这里我也补充下SR插件的基本使用:使用指定标签以及分割语法,便可实现间隔复习效果。

1.点Obsidian主界面的Review flashcards后,复习界面如下:(这里展示的是最后一个问答)

2.其它高级的用法,如多处文本、多处图片挖空或遮挡制卡的一些用法展示及(参考)如下:

GitHub - valentine195/obsidian-leaflet-plugin: Adds interactive maps to Obsidian.md using Leaflet.jsgithub.com/valentine195/obsidian-leaflet-plugin

无需 Anki 直接在 Obsidian 里面背卡片 | 笔记神器 Obsidian 完全指南_哔哩哔哩_bilibiliwww.bilibili.com/video/BV1ho4y127nW

说明:如下为内容多处挖空用法

### 挖空制卡

#flashcards  

引用链接:[20 rules of formulating knowledge in learning](https://www.super-memory.com/articles/20rules.htm)


`The 20 rules of formulating knowledge in learning`

1.Do not ==learn== if you do not ==understand==

说明:如下为图片多处挖空用法

#flashcards  

```leaflet
id: leaflet-map
image: https://pic2.zhimg.com/v2-632790ceb34e88a9f9b971ed87b1c779_720w.jpg?source=3af55fa1
height: 500px
lat: 50
long: 50
height: 500px
minZoom: 1
maxZoom: 10
defaultZoom: 5
unit: meters
scale: 1
marker: default, 39.983334, -82.983330, [[Note]]
darkMode: true
```
?
[[Obsidian 基于插件的增量阅读初探]]
of "multiline" the prompt
can be on multiple lines

---

```leaflet
image: [[Pasted image 20210810133142.png]]
id: 1
height: 500px
lat: 50
long: 50
height: 500px
minZoom: 1
maxZoom: 10
defaultZoom: 5
unit: meters
scale: 1
```
?
[[Obsidian 基于插件的增量阅读初探]]
of "multiline" the prompt
can be on multiple lines


2.SuperMemo方案

这里不再重复之前的内容了,按之前SuperMemo系列挖空制卡操作即可,请参考链接如下:

较于Obsidian中挖空制卡,在SuperMemo中则不会改动markdown笔记原文内容,同时在图片遮挡制卡的场景下,我们可以使用上传至 PicGo 的网络图片,节省存储空间,方便内容备份及迁移;另外,我们可以在SuperMemo每个Topic下直观的添加子Item卡片。当然最重要的还是SuperMemo的复习排重算法,优先级调度能力,丰富的自定义筛选、排序及良好的UI交互。

如上图所示,SuperMemo提供了和学习内容相关的很多属性字段,方便我们更好的对学习内容进行管控,同时它在延迟及提前学习,优先及随机调配上的能力,也比ANKI强了很多,当然还有其它很多的功能,也没法在此一一例举。

最后放上之前在SuperMemo系列学习专栏中,录制的一期视频。大家有兴趣可以了解一下:


SuperMemo18 操作介绍(四) - 学习流程及材料导入

一只小胖子的视频

 · 2643 播放



补充链接:

一只小胖子:思考:如何高效做读书笔记?4 赞同 · 0 评论文章

一只小胖子:实践-Obsidian-介绍及安装配置5 赞同 · 7 评论文章


结束:

至此,本文结束.... 欢迎小伙伴们一起探讨和评论!


你可能感兴趣的:(Obsidian与SuperMemo联用(四))