BookmarkBlock: NotionRubyMapping 解説 (22)

はじめに

NotionRubyMapping 解説の第22回目です。昨日は、UrlCaptionBlock の子クラスである EmbedBlock を解説しました(昨日は最初間違えて「FileBaseBlock の続き」と書いていました。昨日の記事は修正しています)。今日は同じ親クラスを持つ BookmarkBlock を紹介します。今日の作業ページはこちらです。

hkob.notion.site

あらかじめページを取得しておきます。

irb(main):002> page = Page.find "https://hkob.notion.site/Bookmarkblock-22-fe9133ef61f543cf8b42969b218d2883?pvs=4"
=> NotionRubyMapping::Page-fe9133ef61f543cf8b42969b218d2883

BookmarkBlock

BookmarkBlock はブックマークを表示してくれるブロックです。昨日のブログのページをブックマークしてみます。

irb(main):003> bb = page.append_block_children BookmarkBlock.new("https://hkob.hatenablog.com/entry/2024/03/15/050000")
=> NotionRubyMapping::BookmarkBlock-87a3a193a1f94923a15a8f6f0ab3b23b

実行した結果以下のようなブックマークブロックが用意されました。

bookmark

このクラスも caption が RichTextArray なので、文字列を追加することでキャプションが追加できます。

irb(main):004> bb.caption << "EmbedBlock: NotionBuryMapping 解説(21)"
=>
#<NotionRubyMapping::TextObject:0x000000010eb57f48
 @options={"plain_text"=>"EmbedBlock: NotionBuryMapping 解説(21)"},
 @text="EmbedBlock: NotionBuryMapping 解説(21)",
 @type="text",
 @will_update=false>
irb(main):005> bb.save
=> NotionRubyMapping::BookmarkBlock-87a3a193a1f94923a15a8f6f0ab3b23b

結果は以下のようになりました。

bookmark with caption

あとは、url = で url を変更することもできます。書き換え後に save で保存すると url が更新されます。

おわりに

今回は UrlCaptionBlock の子クラスである BookmarkBlockを解説してみました。今日も Notion 座談会があったので短めですみません。

BookmarkBlock のマニュアルはこちら。

hkob.notion.site

NotionRubyMapping解説