<aside> 👉

Links (Block base class)

Page

AudioBlock

Block

CalloutBlock

DividerBlock

Heading1Block

ImageBlock

ParagraphBlock

TableOfContentsBlock

ToggleHeading2Block

Database

BookmarkBlock

CodeBlock

EmbedBlock

Heading2Block

LinkPreviewBlock

PdfBlock

ToDoBlock

ToggleHeading3Block

DataSource 🆕

BreadcrumbBlock

ColumnBlock

EquationBlock

Heading3Block

LinkToPageBlock

QuoteBlock

ToggleBlock

ToggleHeading4Block

List

BulletedListItemBlock

ColumnListBlock

FileBlock

Heading4Block

NumberedListItemBlock

SyncedBlock

ToggleHeading1Block

VideoBlock

Notion Ruby Mapping Public API Reference

</aside>

1. Class methods

self.new(sub_blocks = [], width_ratio: nil) → ColumnBlock

Creates a ColumnBlock object that contains the blocks displayed in one column. A ColumnBlock can also be created without child blocks and populated later.

When a ColumnBlock is retrieved from Notion, its width_ratio value is preserved in the generated JSON.

Create a column with child blocks

column = ColumnBlock.new(
  [
    ParagraphBlock.new("First block"),
    CalloutBlock.new("Second block", emoji: "✅"),
  ],
  width_ratio: 0.4,
)

Create an empty column

column = ColumnBlock.new

<aside> ⚠️

A ColumnBlock is a public API and may be created independently, but it can only be appended as a child of a ColumnListBlock. A ColumnBlock can contain regular Blocks and can receive additional child Blocks through append_block_children after it exists in Notion.

</aside>

2. Instance methods

append_block_children(*blocks, position: nil, dry_run: false)

Appends one or more regular Blocks to an existing ColumnBlock.