Blocks
Introduction
Blocks are one of the main objects from the Notion. They are used to compose the contents of a page. All available blocks are listed bellow.
Metadata
All block objects have the metadata()
method, witch exposes some metadata.
php
$p = Paragraph::fromString("Simple paragraph.");
$p->metadata()->id; // a9f03ee5...
$p->metadata()->createdTime->format("Y-m-d"); // 2022-07-01
$p->metadata()->lastEditedTime->format("Y-m-d"); // 2022-07-01
$p->metadata()->archived; // false
$p->metadata()->hasChildren; // false
Children
Some blocks additionally support adding or changing children. Children can be any other type of block.
php
/* Add child block */
$c = Callout::fromString("💡", "A brilliant idea");
$p = Paragraph::fromString("Simple paragraph.")
->addChild($c);
/* Change children blocks */
$p = $p->changeChildren(
Paragraph::fromString("Nested paragraph 1"),
Paragraph::fromString("Nested paragraph 2"),
);
count($p->children); // 2
/* Remove children blocks */
$p = $p->changeChildren();
Available blocks
Block | Support children |
---|---|
Bookmark | ❌ |
Breadcrumb | ❌ |
BulletedListItem | ✔ |
Callout | ✔ |
ChildDatabase | ❌ |
ChildPage | ❌ |
Code | ❌ |
Column | ✔ |
ColumnList | ✔ |
Divider | ❌ |
Embed | ❌ |
EquationBlock | ❌ |
FileBlock | ❌ |
Heading1 | ✔ |
Heading2 | ✔ |
Heading3 | ✔ |
Image | ❌ |
LinkPreview | ❌ |
NumberedListItem | ✔ |
Paragraph | ✔ |
❌ | |
Quote | ✔ |
TableOfContents | ❌ |
ToDo | ✔ |
Toggle | ✔ |
Video | ❌ |