是什么

Heptabase 中编写笔记,自动同步到个人的数字花园网站中。

目前支持的功能

[] 展示 Heptabase 的笔记内容

[] Heptabase 编辑笔记可一键更新到网站

[] 双向链接

[] 深浅色模式

[] 面包片导航交互(参考 Andyʼs working notes

[   ] 文字高亮

[   ] 嵌入视频

为什么不用其他方式

工具选择

尝试过 HUGONotion 等方式、研究了 obsidian publish,也实践用 Notion 维护了一年的博客,但一直没有找到比较理想的方案。

一方面,笔记在 Heptabase 中,文章放到其他平台会导致双向链接失效。我在实践卡片笔记法,文章与笔记有高度的关联性,例如下面这篇文章中就存在多个卡片链接,但是这些链接在 Heptabase 以外的地方显示时就无法正常打卡笔记,所以不得不转为普通文本,这不但增加了工作量,也使得原本文章的脉络失效。

另一方面,笔记、文章数据在不同平台有多份副本,后续修改起来就要穿梭在不同平台中进行更新,维护成本高。

博客 vs 数字花园

数字花园的理念与我正在使用的卡片笔记法、Heptabase 的设计哲学更加贴近,所以放弃了持续 1 年的博客改用数字花园的方式维护自己的个人站点,下面会详细介绍一下原因。

对数字花园的理解

聊一下我对数字花园理解,以及如何将这些理解体现到网站的设计上。

知识的持续性

数字花园的内容是持续迭代的,我可以发布尚不成熟的想法(不一定要等到输出完整的文章)并且可以在发布后持续的修订。所以在笔记列表中,不是强调笔记的创建时间而是展示最近编辑时间,并将最近编辑的笔记展示在最前,方便阅读者理解笔记的活跃状态。

这和我运用的卡片笔记法理念一致,通过不断的积累、迭代卡片完成文章的输出,而不是一来就面对一张白纸一步到位完成创作。

思考的脉络

传统博客通常会按创建时间展示文章列表供用户阅读,通过标签筛选某个类型的文章。而数字花园则强调思考的脉络,具体体现在以下几点

  • 弱化文章列表,用一个介绍页/索引页作为阅读者漫游的起点
  • 支持双向链接,阅读者可以看到与当前文章关联的其他知识、想法
  • 支持开头提到的面包片导航,阅读者可以快速地在不同笔记间流转

总的来说,使用持续迭代的、重在体现思考脉络的方式记录想法,最终也用同样的方式分享知识,这是我选择数字花园并开发此网站的原因。

使用方法

如果你感兴趣,可以尝试动手自己配置一下(由于本人技术水平有限没办法让配置流程更加简单 🙇🏼)

数据通过 Heptabase 抓包获得,由于受到跨域的限制开发了一个 Python API 转发数据,前端与 API 挂载在 Vercel 上面。

使用 react-markdown 将 md 内容转为 HTML,CSS 使用 github-markdown-css

前置准备

拥有一个 Github 账号

拥有一个 Vercel 账号

懂一些 git 的操作,例如 clone、push……

拥有一定的编程能力

由于已经有很多现成的文章进行说明,所以下面只描述一下大概的操作流程。

操作步骤

  1. 在 Heptabase 的任意白板中创建 1 个笔记,H1 标题为 About,这则笔记将是站点的首页。
  2. 在 Heptabase 中公开白板
  3. 创建 1 个 API,用来获取上面白板的数据
  4. 网站代码部署到 Vercel
  5. 设置 src/config.js 分别填入第 3 部的 API 地址、站点名称
在 Heptabase 中公开白板

更新笔记只需要在 Heptabase 中点击Publish Changes 即可(网站更新将延迟 10 分钟左右)。卡片多了会比较卡,可以在主白板中新建一个子白板存放卡片(不影响网站数据的显示)

2
0