外部リンクを作成する様々な方法: Notion Tips (79)

はじめに

Notion Tips の第79回目はボタンに追加された URL リンクを解説します。せっかくなので、それ以外にリンクをリンクを作成する方法を紹介してみます。

ボタンアクションによるリンク作成

ボタンアクションにリンクを追加する方法は以下の通りです。ボタンの「アクションを追加」で「ページまたは URL を開く」を選択します。

ボタンプロパティ

ここで「ページまたはURLを選択」をクリックします。

ページまたはURLを選択

ここで既存の Notion ページを検索して選択するか、外部の URL を設定できます。ここに出てくる「このページ」はあまり使い道はないかもしれませんが、ボタンオートメーションの事前のアクションで作成したページに飛ぶのは便利そうです。

ページの選択

作成したボタンはこんな感じになります。

作成したボタン

ボタンプロパティによるリンク作成

ボタンはプロパティにも設定できます。設定方法はボタンブロックと同じです。

ボタンプロパティのオプション

表示はこんな感じです。ボタンプロパティと異なるのは、アイコンに色がつけられないことと、ボタン自身にはアイコンがつかないことですかね。

ボタンプロパティの見た目

実際にはボタンのリンク先などが他のプロパティなどから設定できないので、どのページのボタンも行き先は同じになってしまうのが残念です。せめて page_id などそのページに依存した情報が渡せると Web hook の代わりのような形で使えるのですが。

このため、単にボタンリンクとして使うのではなく、前のアクションで特定のプロパティにチェックなどを入れ、外部の URL からチェックを入れたページを探すような運用が必要かと思います。例えば以下のように Action というフラグをつけた後で、適当な URL にアクセスする形です。ただし、GET でのアクセスになることや、API key に相当するものを埋め込む必要があることからセキュリティ的には取り扱いはあまり重要でない情報に限るべきかと思います。

アクションを追加

リッチテキストによるリンク作成

リッチテキストには普通に URL を設定できます。文字を選択して出てくるメニューから「リンクを追加」としてもいいですし、書かれているように「Cmd/Ctrl+K」をタイプしてもいいです。

リッチテキストのリンク

すると以下のようなダイアログが表示されるので、ページを選択するか URL を設定します。

URL選択のダイアログ

URL を入力していると Web ページにリンクするという文言になるので確定すればいいです。

URLを指定

リンクが設定されると文字の下にアンダーラインが引かれます。

URLが設定されたリッチテキスト

リッチテキストのリンクをもっと簡単に生成するには、URL をクリップボードに設定しておき、選択したテキストに貼り付ける方法です。URL 以外であれば文字の置き換えになるのですが、クリップボードに入っているものが URL である場合だけは、リンクの追加になります。

さらに、今はリンクを単に貼り付けるとメンションという項目が選ばれるようになりました。

メンション設定

これを設定すると URL 先にアクセスし、テキスト部分を自動的にタイトルから設定してくれるようになります。以前はテキストを書いてから URL 貼り付けばかりを使っていましたが、このテキスト記述がなくなったので非常に手間が減りました。今はこれしか使っていません。

データベースの URL プロパティ

データベースの URL プロパティも当然ながら外部 URL を設定するために使うものです。以前は URL 全体が表示されていましたが、「完全な URLを表示」を設定していない時には簡潔な描画になるようになりました。

データベースのURLプロパティ

数式の link 関数

私のタスクデータベースには以下のような Next action という数式が設定されています。これは「いつかやる」になっているタスクを始める時にクリックする Web hook になっています。

数式の URL

数式は以下のようになっています。GAS の doGet の公開 URL のものを呼び出しています。 id() でページ ID が渡せるので、これを使って GAS の処理を実施しています。

link("→ Next Action", "https://script.google.com/macros/s/省略/exec?url=" + id())

セキュリティ的にはよろしくないのですが、この GAS は内部で情報を処理するのではなく、リダイレクトで alfred:// で始まる URL-scheme にリダイレクトする作業だけをしています。作業自体はローカルの Alfred 呼び出しなので、外部に情報は流れないのでよしとしています。URL がバレてさらに私のタスクの ID がバレ、さらに私の Alfred のワークフローまで盗まれると自動的にそのタスクが勝手に始められてしまうというイタズラはされてしまうことになりますが、その状態だったらそもそも Mac 自体が盗まれているということなので別の心配をした方がよさそうです。

画像のリンク

最近のアップデートで一番嬉しいのはこれではないでしょうか。画像に対しても「リンクを追加」とできるようになりました。

画像のリンク設定

リンクを設定すると左下にリンク先のタイトルが表示されます。

リンク設定された画像

Mermaid のブロックにリンクを追加

画像リンクができるようになったのでもう要らない技術かと思いますが、mermaid の中のブロックにリンクを設定することができます。画像も付けられたのでこんなことができていました。

Mermaid のリンク

おわりに

Apple の Keynote を観ながら書いていたので、ネタが Apple だらけになってしまいました。リンクに絡む様々な手法を説明してきました。現在では page_id に絡むものは数式しかないので、この辺りがさらに発展すると嬉しいなと思います。特にデータベースオートメーションに URL アクセスが来るとかなり嬉しいのですが、スパム化の可能性もあるので難しいのかもしれません。