惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

aimingoo的专栏
aimingoo的专栏
B
Blog RSS Feed
Recent Announcements
Recent Announcements
Vercel News
Vercel News
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
H
Help Net Security
T
The Blog of Author Tim Ferriss
Y
Y Combinator Blog
G
Google Developers Blog
罗磊的独立博客
爱范儿
爱范儿
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
S
SegmentFault 最新的问题
WordPress大学
WordPress大学
月光博客
月光博客
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
如何在 Obsidian 中实现「块引用」? - 少数派
2020-08-02 · via 少数派

引子

不少朋友都很喜欢 Roam Research 的 block reference(块引用)功能,而这也是那些使用 Obsidian 或其他基于纯文本的网络化笔记应用的朋友们一个不小的遗憾。(什么是 block reference?)Roam Research 的 block reference 系统之所以如此强大,是因为它将每个 block 都视作了一个独立的、带有 id 的数据对象;而基于纯文本文件的笔记应用之所以做不到类似的功能,也正是因为这些文本文件内部的段落无法被识别为独立的对象。这是一种天生的差异。

但是话又说回来,Roam Research 中的 block reference 格式是专属性的,很难迁移到别的平台上使用。有没有什么办法可以在保持纯文本结构的前提下实现对部分内容块进行引用呢?

答案当然是肯定的。下面我就以 Obsidian 为例,介绍三种可行的方法。

方法一:重新理解 Block (最推荐的方法)

此法有点「无招胜有招」的意思,它也是我本人最推荐的方式,因为它很符合卡片系统的理念,也更具有通用性。

在拙文《Roam Research Report——理念与功能》中,我曾提到「页面就是大一点的 Block,而 Block 就是小一点的页面」这么一个观点。当时我想要说明的是,block 可以像 page 那样被使用与引用,并分析了实现这一功能的原理;但反过来讲,既然 page 就是大一点的 block,那么我们何不把 block 的内容直接以  page (也就是 Obsidian 的文档)的形式进行呈现及引用呢?

借用「卡片笔记」这个概念,那么其实每个可被引用的内容都可以被视作是一张卡片,不管它是 page(文档)还是 block (段落)。不要觉得用一个文档写一句话是一种「浪费」,想象一张纸质的卡片能记录的内容只会更少,不也一样能完成使命嘛?

对于在一个文档里只写一段话这种做法,也能会让不少人感到不适。但我们之所以会感觉有些别扭,只是因为我们习惯了把笔记写得很详细,而没有学会如何压缩信息。(这里推荐 Tiago Forte 的文章《Progressive Summarization》  以及少楠非常优秀的编译)。实际上,使用「卡片」这一类比,能够非常直接地提醒我们去对信息进行提纯。

当然,「一个文档一句话」也无法适应所有情况,这时我们可以使用 Obsidian 自带的标题引用的功能,通过 [[title#heading]]这个方法,在文档中插入其他文档某一级标题下的内容,或通过 ![[title#heading]]进行嵌入。

嵌入其他文档中标题下内容效果

虽然这种方法无法像 Roam Research 那样实现回车即生成新 block 的效果,但这个方法让我们的关注点从功能转向了结果,直接指向「撰写更好的笔记,并建立联系」这个更高一层的目标,并基本满足了块内容引用的需求。

方法二:用 Quicker 建立引文系统 (最直观的方法,但不推荐)

如果你安装了 Quicker 这款应用的话,那么可以通过「引用块」这个脚本,建立引文系统来实现块引用。

第一次使用时,会需要选中 vault 文件目录进行关联。关联之后就会生成一个👉为标题的文件,里面将放置被引用的文本,并建立索引。

会生成一个👉文件
里面是引用的句子及文件名

每次使用时,只需要高亮需要引用的文字,然后选择引用块脚本,并在弹出的对话框中选择「>收藏『所选文本』」。在需要使用时,再次点击脚本,选择相应已收藏的引文即可。

但是,这个引文系统非常的脆弱,基本经不起任何折腾,如果你删除了一些文件,或者是不小心修改了引文索引文件,都会导致整个系统出现混乱。

同时,这个引文系统需要先制作引文,再引用制作好的引文,与我们一般的写作流程不符。且一旦引文变多,搜索就变得比较麻烦。

因此,在这里并不推荐这种方法。

方法三:修改 CSS 样式 (对第一种方式的优化)

第一种方法会显示被引用内容的标题,有些人会觉得看着碍眼。那么我们其实可以通过修改 Obsidian 的主题,来隐藏嵌入内容的标题。

首先,打开 Obsidian 的设置菜单,选中 Custom CSS 选项。(可能需要再选中任何一个新的主题进行应用)

然后,打开 Vault 目录中新生成的 obsidian.css 文件,加入如下代码     

.markdown-embed-content>h1:first-child,
.markdown-embed-content>h2:first-child,
.markdown-embed-content>h3:first-child,
.markdown-embed-content>h4:first-child,
.markdown-embed-content>h5:first-child,
.markdown-embed-content>h6:first-child {
	display: none;
}

再次嵌入内容的时候,就会显示如下效果

嵌入不显示标题的段落

以上就是在 Obsidian 中(kinda)实现「块引用」的方法。

不过到头来,似乎「块引用」也并不是那么地重要,问题的根本解决还是得从笔记思维入手。