https://developers.notion.com/reference/block
块对象代表 Notion 中的内容。块可以是文本、列表、媒体等等。页面也是一种块!
据我所知,Notion中的一切都是一个块,一个页面是一个块,有子块;所以数据库也是一个块?
如果我创建一个 Notion 克隆,我应该使用这样的模型吗:
或喜欢:
非常感谢。
根据Notion API参考,数据库、页面、块是三个不同的对象。一层又一层。
数据库对象在Notion中描述数据库的属性模式。页面是数据库中的项目(或子项)。
Page 对象包含单个 Notion 页面的属性值。 { … } 页面内容以块的形式提供。
页面对象与块对象不共享相同的属性。它们不应被视为同一型号。
建议的模型设计应该是;
Notion 属于基于块的编辑器类。我建议阅读这篇文章。它不仅描述了概念实现,还描述了基本模型。
出于某种原因,Notion 决定不利用该模型以及分离的页面和块的所有优点。
基于块的编辑器的另一个例子是RemNote。 它没有这个限制。在 RemNote 中,您可以自由地将块(或者,用他们的术语来说,rems)转换为文档并返回。您可以使用一个 rem 作为其他 rem 等的标签或属性值。标签还提供多重继承。
Notion 具有一些 RemNote 和市场上其他基于块的工具都没有的独特功能,所以我暂时坚持使用它。
但我必须花费几个月的时间来尝试克服和解决这个限制,但仍然没有取得太大成功。
作为一名用户,我不喜欢这种概念限制,也看不出有任何理由。
如果我创建一个 Notion 克隆
如果您考虑推出新产品,那么我建议跳过克隆此行为。