Icon names and database icons (Notion Changelog 7/1): hkob の雑記録 (544)

はじめに

hkob の雑記録の第544回目(連続118日目)は、Notion Developer Changelog の 7/1 を解説します。

Icon names and database icons

7/1 の Changlog は以下のようになっていました。

7/1 の Changelog

ネイティブアイコンを設定する際に、name でアイコンピッカー上の名前も受け付けるようになりました。そのため、"token""star circle" のような値で同じ Notion アイコンを設定できます。databases.retrieve は Notion UI で設定されたアイコンを返すようになり、dataSources.retrieve で表示されるアイコンと一致するようになりました。

1つ目のアップデートは、アイコンピッカー上の名前も受け付けるような payload が追加された件です。今回のアップデートでは icon というキーワードが増え、以下のような payload を記載するようになります。

"icon": {
    "type": "icon",
    "icon": {
        "name": "home",
        "color": "orange"
    }
}

color の部分には以下のものが設定できるそうです。gray, lightgray, brown, yellow, orange, green, blue, purple, pink, red 。これまでは External でアイコン画像の URL を渡す必要があったので、簡単になりました。現在は、retrieve でもこの name の形で表示されるようです。

irb(main):001> page = Page.find "https://www.notion.so/hkob-private/Notion-Icon-names-and-database-icons-Notion-Changelog-7-1-hkob-544-3950ce2a65208089af60c0d2928e64f4?source=copy_link#3950ce2a6520801fa30ed3662c2b235a"
page.icon
=> NotionRubyMapping::Page-3950ce2a65208089af60c0d2928e64f4
irb(main):002> page.icon
=> {"type" => "icon", "icon" => {"name" => "window", "color" => "gray"}}

もう一つのアップデートは Database で取得されるアイコンについてです。現在では、Data Source で表示されるアイコンと同じものが返却されるようになり、これらが一致するようになったそうです。こちらも確認してみましょう。確かに同じものが返却されるようになったようです。

irb(main):003> ds = DataSource.find "1f70ce2a-6520-80ce-bc36-000b08bc3b11"
=> NotionRubyMapping::DataSource-1f70ce2a652080cebc36000b08bc3b11
irb(main):004> ds.icon
=> {"type" => "icon", "icon" => {"name" => "checklist", "color" => "gray"}}
irb(main):005> db = ds.parent
=> NotionRubyMapping::Database-1f70ce2a652080db9569e58b8eb84e98
irb(main):006> db.icon
=> {"type" => "icon", "icon" => {"name" => "checklist", "color" => "gray"}}

おわりに

今回は Icon にまつわる二つのアップデートでした。細かいことですが、簡単にアクセスできるようになって便利になりますね。NotionRubyMapping でも Payload のアップデートをしておこうと思います。

hkob.notion.site