はじめに
NotionRubyMapping 解説の第12回目です。今日は箇条書きブロックである BulletedListItemBlock
を解説します。今日の作業ページはこちらです。
あらかじめページを取得しておきます。
irb(main):002> page = Page.find "https://hkob.notion.site/BulletedListItemBlock-12-5f5cf721828a4cf1a8e94003d3c6bd3 4?pvs=4" => NotionRubyMapping::Page-5f5cf721828a4cf1a8e94003d3c6bd34
BulletedListItemBlock
BulletedListItemBlock は箇条書きを保持するブロックです。 text_info と color が設定できるのは ParagraphBlock と同様です。
irb(main):004> bli_a = page.append_block_children BulletedListItemBlock.new("A", color: "green") => NotionRubyMapping::BulletedListItemBlock-e3cbf7dba0bf47bcaf86b18e0e4d344d
実行した結果以下のような箇条書きが用意されました。
箇条書きは子ブロックとして、下位の箇条書きを持つことができます。今作った箇条書きの下に A-1 という箇条書きを追加してみます。
irb(main):007> bli_a.append_block_children BulletedListItemBlock.new("A-1") => NotionRubyMapping::BulletedListItemBlock-86f7edbb21bf4e03a2c10ac6e9f17ca3
結果は以下のようになりました。色を指定しないと親と同じ色になるのですね。
BulletedListItemBlock は作成時に sub_blocks を指定できます。
irb(main):012> bli_b = page.append_block_children BulletedListItemBlock.new("B", sub_blocks: [BulletedListItemBlock.new("B-1"), BulletedListItemBlock.new("B-2")]) => NotionRubyMapping::BulletedListItemBlock-1a764d8f321148359285fe8c1c407e4c
結果は以下のようになりました。最初から階層的な箇条書きが記述できました。
ParagraphBlock と同様に color = で色を変更できます。
irb(main):014> bli_b.color = "orange" => "orange" irb(main):015> bli_b.save => NotionRubyMapping::BulletedListItemBlock-1a764d8f321148359285fe8c1c407e4c
結果はこんな感じになりました。
箇条書きのマークは色が変わっていますが、テキストは色が変わっていませんでした。rich_text_array
で色を変更してみます。
irb(main):016> bli_b.rich_text_array => #<NotionRubyMapping::RichTextArray:0x0000000121efff70 @key="rich_text", @rich_text_objects= [#<NotionRubyMapping::TextObject:0x00000001218be850 @options= {"plain_text"=>"B", "bold"=>false, "italic"=>false, "strikethrough"=>false, "underline"=>false, "code"=>false, "color"=>"default", "href"=>nil}, @text="B", @type="text", @will_update=false>], @will_update=true> irb(main):017> bli_b.rich_text_array.first.color = "orange" => "orange" irb(main):018> bli_b.save => NotionRubyMapping::BulletedListItemBlock-1a764d8f321148359285fe8c1c407e4c
これでテキストも色が変わりました。
おわりに
今回は BulletListItemBlock
を追加してみました。利用できる機能は ParagraphBlock
と同じです。似たようなブロックも今後出てきますが、同じように確認していきたいと思います。
BulletedListItemBlock のマニュアルはこちら。