はじめに
NotionRubyMapping 解説の第13回目です。昨日の箇条書きブロックとほぼ同じ番号付き箇条書きブロックである NumberedListItemBlock
を解説します。中身はほとんど同じなので省略してもいいのですが、このページだけ見ても内容が完結するように同じ内容を記述します。今日はプレス発表の待機もあり、帰宅時間が遅かったというのも理由の一つです。今日の作業ページはこちらです。
あらかじめページを取得しておきます。
irb(main):002> page = Page.find "https://hkob.notion.site/NumberedListItemBlock- 13-117cd1ac08244aca9b749a8b49f0735d?pvs=4" => NotionRubyMapping::Page-117cd1ac08244aca9b749a8b49f0735d
NumberedListItemBlock
NumberedListItemBlock は番号付き箇条書きを保持するブロックです。 text_info と color が設定できるのは ParagraphBlock と同様です。
irb(main):003> nli_a = page.append_block_children NumberedListItemBlock.new("A", color: "blue") => NotionRubyMapping::NumberedListItemBlock-5b51c795163545febfb924be4b5df83d
実行した結果以下のような番号付き箇条書きが用意されました。
番号付き箇条書きは子ブロックとして、下位の番号付き箇条書きを持つことができます。今作った箇条書きの下に A-1 という番号付き箇条書きを追加してみます。
irb(main):004> nli_a.append_block_children NumberedListItemBlock.new("A-1") => NotionRubyMapping::NumberedListItemBlock-56d95fb827204c02ba79b2dea50f6769
結果は以下のようになりました。BulletedListItemBlock
と同様に色を指定しないと親と同じ色になるのですね。
NumberedListItemBlock も作成時に sub_blocks を指定できます。
irb(main):005> nli_b = page.append_block_children NumberedListItemBlock.new("B", sub_blocks: [NumberedListItemBlock.new("B-1"), NumberedListItemBlock.new("B-2")]) => NotionRubyMapping::NumberedListItemBlock-104d37ff16c24888b5e3042ad26116fd
結果は以下のようになりました。最初から階層的な箇条書きが記述できました。
ParagraphBlock と同様に color = で色を変更できます。
irb(main):006> nli_b.color = "red" => "red" irb(main):007> nli_b.save => NotionRubyMapping::NumberedListItemBlock-104d37ff16c24888b5e3042ad26116fd
結果はこんな感じになりました。
番号付き箇条書きの数字は色が変わっていますが、テキストは色が変わっていませんでした。rich_text_array
で色を変更してみます。
irb(main):008> nli_b.rich_text_array => #<NotionRubyMapping::RichTextArray:0x000000012951ac78 @key="rich_text", @rich_text_objects= [#<NotionRubyMapping::TextObject:0x000000012a138578 @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):009> nli_b.rich_text_array.first.color = "red" => "red" irb(main):010> nli_b.save => NotionRubyMapping::NumberedListItemBlock-104d37ff16c24888b5e3042ad26116fd
これでテキストも色が変わりました。
おわりに
今回は NumberedListItemBlock
を追加してみました。利用できる機能は ParagraphBlock
や BulletedListItemBlock
と同じです。似たようなブロックも今後出てきますが、同じように確認していきたいと思います。
NumberededListItemBlock のマニュアルはこちら。