🎉

Obsidian ブックマークしたファイルを簡単に開くことができるプラグインをリリース

2024/04/27に公開

はじめに

Bookmarks Callerというブックマークしたファイルを簡単に開くことできるようになるObsidianプラグインをリリースしました。

Obsidianのコアプラグインの1つにブックマークがあります(ブックマーク機能詳細は以下リンク先を参照)。

Obsidian公式ヘルプページ - Bookmarks

よく使うファイルなどをブックマークすると、ブックマーク一覧からその項目をすぐに表示することができます。

ただ、デフォルトではそのブックマーク一覧を表示するのが少し手間であり、折角ブックマークしたファイルも開きづらいとジレンマがあると思います。
それをこのプラグインで解消できます。

本記事ではBookmarks Callerの機能紹介、設定項目、その他雑記(開発の背景、コンセプトなど)を書きます。

Bookmarks Callerのリンク

オススメしたい人

  1. Obsidianアプリを使っている人
  2. ブックマーク機能を利用している人
  3. 今はブックマーク機能を利用していないけど、よく開くファイルがある人

機能紹介

機能: ブックマークを開く(1ファイル指定)

まず、Bookmarks Caller: Open bookmarks callerコマンドを実行すると、ブックマークをリストアップしたモーダルが表示されます。
(コマンドはホットキーを割り当てておくことを推奨します)

次に表示されているブックマークの一覧から開きたいブックマークを見つけて、横にある1文字のキーを入力するとそのブックマークを開くことができます。
(矢印キーでフォーカスを移動してEnterまたはSpaceキーで項目を選択する、あるいはマウス操作やタップで項目を選択することでも同様に切り替えできます。)
※それぞれの1文字のキーは後述の設定: Characters used for button hintsで変更できます。

Open bookmark

機能: ブックマークを開く(グループ指定)

コアプラグインのブックマーク機能にはブックマークをグルーピングする機能があります。
グループ(フォルダのようなもの)を作成し、グループの中にブックマークを格納して整理することができます。
このプラグインではグループの中にあるファイルを一括で開くことができます。

まず、機能: ブックマークを開く(1ファイル指定)と同様にBookmarks Caller: Open bookmarks callerコマンドを実行します。

その後、一括で開きたいグループに移動して/キーを入力すると、そのグループ配下のファイルを一括で開くことができます。
※デフォルトは/キーを利用しますが後述の設定: Shortcut key for the “All” buttonで変更できます。

Open all bookmarks

各種設定

設定: Recursively open files under groups

Allボタンを選択したときに、グループ配下のファイルを再帰的に開くようになります。

例えば以下のグループ構成でLayer1グループAllボタンを選択するとします。

  • Layer1グループ
    • ブックマークファイルA
    • Layer2グループ
      • ブックマークファイルB

この設定が有効になっていると、Layer1グループの直下にあるブックマークファイルALayer2グループ直下にあるブックマークファイルBの2ファイルを開きます。
この設定が無効になっていると、Layer1グループの直下にあるブックマークファイルAのみを開き、Layer1グループの直下にないブックマークファイルBは開きません。

モーダルの下部に表示されるBackボタン、ページ切り替えボタン、Allボタンを表示するかを指定します。
Offにするのはキーボード操作のときのみを推奨します(マウス、タップ操作の場合はこのボタンを非表示にするとページ切り替えやグループ指定でファイルを開けなくなるため)。

設定: Show legends

モーダルの最下部に表示されるキー入力の凡例を表示するかを指定します。

設定: Color of button frame on focus

フォーカスされたボタンの枠の色を指定します。

設定: Characters used for button hints

モーダルでブックマークの横に表示されるショートカットキー用の文字を指定します。
4〜10文字の好きな半角英数字または記号を指定できます。
ここで指定した文字数に応じて1ページあたりに表示されるブックマークの数が増減します。
(4個指定すれば1ページあたり4項目を表示、10個指定すれば1ページあたり10項目を表示)

初期値のasdfghjkl;はキーボードのホームポジションから離れずに操作できることを意識しています。

  • 初期値: asdfghjkl;
  • 設定例1: 1234567890
  • 設定例2: !@#$%
  • 設定例3: asdf

設定: Shortcut key for the “All” button

Allボタンのショートカットキーを指定します。
デフォルトでは/ですが任意の単一キーを指定できます。
他の設定でショートカットキーで指定しているキーは指定できません。

設定: Shortcut key for the “Back” button

Backボタンのショートカットキーを指定します。
デフォルトではBackspaceですが任意の単一キーを指定できます。
他の設定でショートカットキーで指定しているキーは指定できません。

その他雑記

開発背景

僕は普段Obsidianを利用しているとき、利用頻度に応じて以下のようにファイルを開いています。

  • 高頻度で使うファイル: 常時ファイルを開きっぱなしする
    • 常に1時間に1回は利用するファイル
  • 特定の作業時のみ必要になるファイル: ファイルを利用した後しばらく不要になった時点で閉じる
    • 1日に1回以上は利用するファイル
    • その他のファイル

この特定の作業時のみ必要になるファイルの中でも1日に1回以上は利用するファイルが割と開くことが手間に感じていました。
そのときに「そういえばブックマーク機能があったよな」と思い出してブックマークを登録して利用し始めました。
ブックマークを表示コマンドでブックマーク一覧を表示して任意のファイルを開きやすくなりました。

ただ、はじめにでも記載したように、このブックマーク一覧を表示するという操作が手間に感じました。

  1. ブックマークを表示コマンドを実行して左サイドバーを開いてブックマーク一覧を表示
  2. 任意のファイルを探してマウス操作で選択してファイルを開く
  3. 不要になった左サイドバーをホットキーで閉じる

特に「マウス操作がいること」、「左サイドバーを閉じ直すこと」が手間でした。

そこですでにリリースしていたTab SelectorのUIを継承しつつ、本プラグインを開発しました。
※Tab Selectorについてはこちらの記事を参照。

開発コンセプト

Tab Selectorプラグインと同様に少ない動作・操作で好きなファイルを開けるがコンセプトです。
少ない動作はキーボードから手を離さずにキーボード操作だけで完結できることを意識しました。
少ない操作はキーボード操作の入力回数を極力減らすことを意識しました。

また、例えば作業ごとに必要になるブックマークをグルーピングしておき、一括で開けるようにすることで1ファイルずつ開くという手間も削減できることを目指しました。

開発・リリースして気づいたこと

実はブックマーク機能のすべてに対応はできていない状況です。
Obsidianでブックマークできる項目は6種類あります。
(詳細はこちら)

当初ブックマークできるのはファイルだけと思っていたのですが、リリースしようと思っていた直前に他に5種類あることに気付きました。
僕自身が普段利用する際に必要なブックマークはBookmark a fileだけでしたが、公開するなら可能な限りサポートしたいと思って追加でいくつか開発しました。

現時点のサポート状況は以下の通りです。

  • サポート済み
    • Bookmark a file
    • Bookmark a folder (v0.3.0でサポート追加済み)
    • Bookmark a search term (v0.2.0でサポート追加済み)
    • Bookmark a heading
    • Bookmark a block
    • Bookmark a graph (v0.4.0でサポート追加済み)
  • 未サポート
    • (Obsidian version1.5.12時点で未サポートなし)

未サポートのBookmark a search termは近日中にサポートする予定です。
Bookmark a folderBookmark a graphのサポートはまだ見通しがありませんが、マイペースにサポートする方法を探していこうと思っています。
未サポートだったBookmark a search termはv0.2.0、Bookmark a folderはv0.3.0、Bookmark a graphはv0.4.0でサポートしました。

さいごに

このプラグインを利用することでブックマークしたファイルを開きやすくなり、そもそもの「ファイルをブックマークする」という機能はやっぱり便利だなと感じています。

どのくらいの数のObsidianユーザがコアプラグインのブックマークを利用されているかは分からないですが、まだ利用されていな方は是非一度使ってみて欲しい機能です。
ブックマーク機能を活用されるときに本プラグインがその手助けになれば嬉しいです。

Discussion