はじめに
NotionRubyMapping 解説の第15回目です。今日もほぼこれまでと同様の形式を持つ QuoteBlock を解説します。今日紹介する QuoteBlock も TextSubBlockColorBaseBlock
というクラスの子クラスです。今日の作業ページはこちらです。
あらかじめページを取得しておきます。
irb(main):002> page = Page.find "https://hkob.notion.site/QuoteBlock-15-1917a19d0f2942f39e10bc39236ec533?pvs=4" => NotionRubyMapping::Page-1917a19d0f2942f39e10bc39236ec533
QuoteBlock
QuoteBlock
はチェックボックスを持つテキストブロックです。 text_info
と color
が設定できるのは ParagraphBlock
と同様です。
irb(main):003> q_a = page.append_block_children QuoteBlock.new("A", color: "pink ") => NotionRubyMapping::QuoteBlock-beb6084b39b44f2fa0f2acebd4273941
実行した結果以下のような引用が用意されました。
QuoteBlock
は子ブロックとして、下位のブロックを持つことができます。今作った引用の下に A-1 という 引用を追加してみます。
irb(main):004> q_a.append_block_children QuoteBlock.new("A-1") => NotionRubyMapping::QuoteBlock-75d47834c2b24b779e28b0c91cf747fa
結果は以下のようになりました。BulletedListItemBlock
と同様に色を指定しないと親と同じ色になるのですね。
QuoteBlock
も作成時に sub_blocks
を指定できます。
irb(main):005> td_b = page.append_block_children ToDoBlock.new("B", sub_blocks: [ToDoBlock.new("B-1"), ToDoBlock.new("B-2", true)]) => NotionRubyMapping::ToDoBlock-6ecef9d7d79f4e11a0bb206087842bf3
結果は以下のようになりました。最初から階層的な引用が記述できました。
ParagraphBlock
と同様に color =
で色を変更できます。
irb(main):007> q_b.color = "yellow" => "yellow" irb(main):008> q_b.save => NotionRubyMapping::QuoteBlock-54375b1759214ba79b182f16e3b2efda
結果はこんな感じになりました。
引用の枠は色が変わっていますが、テキストは色が変わっていませんでした。rich_text_array
で色を変更してみます。
irb(main):009> q_b.rich_text_array => #<NotionRubyMapping::RichTextArray:0x0000000122f14e38 @key="rich_text", @rich_text_objects= [#<NotionRubyMapping::TextObject:0x000000012345c350 @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):010> q_b.rich_text_array.first.color = "yellow" => "yellow" irb(main):011> q_b.save => NotionRubyMapping::QuoteBlock-54375b1759214ba79b182f16e3b2efda
これでテキストも色が変わりました。
おわりに
今回は QuoteBlock
を解説してみました。TextSubBlockColorBaseBlock
の子クラスなので、これまで解説していたものと同じ機能があることがわかります。
QuoteBlock のマニュアルはこちら。