![[obsidian-plugin.webp|cover-picture]]
[[Obsidian]]のプラグイン開発で利用するユースケースやレシピ集。[[Templater]]で使える知識も多い。
## ファイル
### ファイル情報取得
- [[Vault rootからの相対パスから絶対パスを取得 (Obsidian)|Vault rootからの相対パスから絶対パスを取得]]
- [[ファイルのヘッダ一覧を取得 (Obsidian)|ファイルのヘッダ一覧を取得]]
- [[ファイルの中身を取得 (Obsidian)|ファイルの中身を取得]]
- [[ファイルの未解決リンク一覧を取得 (Obsidian)|ファイルの未解決リンク一覧を取得]]
### ファイル操作
- [[ファイル・ノートをリネーム・移動 (Obsidian)|ファイル・ノートをリネーム・移動]]
- [[ファイル・ノートをゴミ箱に移動 (Obsidian)|ファイル・ノートをゴミ箱に移動]]
- [[ファイル・ノートを設定に従って削除 (Obsidian)|ファイル・ノートを設定に従って削除]]
- [[ファイルエクスプローラーでファイルやディレクトリを開く (Obsidian)|ファイルエクスプローラーでファイルやディレクトリを開く]]
- [[デフォルト(外部)アプリでファイルやディレクトリを開く (Obsidian)|デフォルト(外部)アプリでファイルやディレクトリを開く]]
- [[任意のファイルの最後に文字列を挿入 (Obsidian)|任意のファイルの最後に文字列を挿入]]
- [[日付の文字列からデイリーノート(Daily Note)のファイルを取得 (Obsidian)|日付の文字列からデイリーノート(Daily Note)のファイルを取得]]
- [[現在VaultのMarkdownファイルをすべて取得 (Obsidian)|現在VaultのMarkdownファイルをすべて取得]]
- [[ノートのタイトルを指定してファイルを作成 (Obsidian)|ノートのタイトルを指定してファイルを作成]]
- [[新しいファイルを作成して分割したタブグループで開く (Obsidian)|新しいファイルを作成して分割したタブグループで開く]]
## Obsidian以外のシステム
- [[IMEがONになっているかを判定 (Obsidian)|IMEがONになっているかを判定]]
- [[クリップボードを使用 (Obsidian)|クリップボードを使用]]
- [[スマホやタブレットかどうかを判定 (Obsidian)|スマホやタブレットかどうかを判定]]
- [[外部のURLを開く (Obsidian)|外部のURLを開く]]
- [[パスを指定してターミナル経由でTUIツールを直接開く (Obsidian)|パスを指定してターミナル経由でTUIツールを直接開く]]
- [[OSの通知を表示 (Obsidian)|OSの通知を表示]]
## エディタ
- [[Obsidian APIでCanvasを操作|Obsidian APIでCanvasを操作]]
- [[Page Previewコアプラグインみたいにポップアッププレビューを表示 (Obsidian)|Page Previewコアプラグインみたいにポップアッププレビューを表示]]
- [[Vimモードの保存コマンド実行時に処理を設定 (Obsidian)|Vimモードの保存コマンド実行時に処理を設定]]
- [[カーソルを任意の場所に移動 (Obsidian)|カーソルを任意の場所に移動]]
- [[カーソル位置からObsidian内の相対座標を取得 (Obsidian)|カーソル位置からObsidian内の相対座標を取得]]
- [[カーソルを任意の場所に移動 (Obsidian)|カーソルを任意の場所に移動]]
- [[トースターを表示 (Obsidian)|トースターを表示]]
- [[現在のリーフサイズ、Window内の相対位置を取得 (Obsidian)|現在のリーフサイズ、Window内の相対位置を取得]]
- [[現在のファイル・カーソルに文字列を挿入 (Obsidian)|現在のファイル・カーソルに文字列を挿入]]
- [[行を任意のテキストで置換 (Obsidian)|行を任意のテキストで置換]]
- [[選択中の文字列を取得 (Obsidian)|選択中の文字列を取得]]
- [[選択中の文字列を置換 (Obsidian)|選択中の文字列を置換]]
- [[エディタの全文字列を置換 (Obsidian)|エディタの全文字列を置換]]
- [[エディタの文字列を複数個所それぞれ置換 (Obsidian)|エディタの文字列を複数個所それぞれ置換]]
- [[クリックした内部リンクのパスを取得 (Obsidian)|クリックした内部リンクのパスを取得]]
- [[エディタにフォーカスを戻す (Obsidian)|エディタにフォーカスを戻す]]
### SuggestModal
- [[SuggestModalの要素を選択する (Obsidian)|SuggestModalの要素を選択する]]
- [[SuggestionModalで選択中の要素を再描画 (Obsidian)|SuggestionModalで選択中の要素を再描画]]
### CodeMirror
- [[CodeMirror5のVim拡張機能を操作 (Obsidian)|CodeMirror5のVim拡張機能を操作]]
- [[CodeMirror5のインスタンスを取得 (Obsidian)|CodeMirror5のインスタンスを取得]]
## 変換
- [[linktextをpathに変換する (Obsidian)|linktextをpathに変換する]]
- [[pathから最適なリンク文字列を生成 (Obsidian)|pathから最適なリンク文字列を生成]]
- [[存在しないリンクのlinktextからpathを取得 (Obsidian)|存在しないリンクのlinktextからpathを取得]]
## Workspace/Vault関連
- [[キャッシュの初期化処理が実行されたか確認 (Obsidian)|キャッシュの初期化処理が実行されたか確認]]
- [[キャッシュの初期化処理の完了後に処理 (Obsidian)|キャッシュの初期化処理の完了後に処理]]
- [[コアプラグインのインスタンスを取得 (Obsidian)|コアプラグインのインスタンスを取得]]
- [[コマンドパレットから実行可能なコマンドを実行 (Obsidian)|コマンドパレットから実行可能なコマンドを実行]]
- [[コミュニティプラグインのインスタンスを取得 (Obsidian)|コミュニティプラグインのインスタンスを取得]]
- [[ホットキーの表示用文字列を取得 (Obsidian)|ホットキーの表示用文字列を取得]]
- [[新しいウィンドウの表示位置とサイズを設定 (Obsidian)|新しいウィンドウの表示位置とサイズを設定]]
- [[vaultの設定を取得 (Obsidian)|vaultの設定を取得]]
- [[vaultの設定を変更 (Obsidian)|vaultの設定を変更]]
- [[設定を新規追加してもマージされるようにする (Obsidian)|設定を新規追加してもマージされるようにする]]
- [[設定のdescriptionにDOMを設定 (Obsidian)|設定のdescriptionにDOMを設定]]
- [[指定ファイルのタブを閉じる (Obsidian)|指定ファイルのタブを閉じる]]
- [[1つ後のワークスペースに切り替える (Obsidian)|1つ後のワークスペースに切り替える]]
## イベントのハンドリング
- [[InputやTextAreaタイプの設定変更イベントをフォーカスが外れた後にする (Obsidian)|InputやTextAreaタイプの設定変更イベントをフォーカスが外れた後にする]]
- [[キーイベントをハンドリングする (Obsidian)|キーイベントをハンドリングする]]
## その他
- [[Viewをタブに切り出したときのアイコンを設定 (Obsidian)|Viewをタブに切り出したときのアイコンを設定]]
## API
- [[obsidian.Modal]]
- [[obsidian.SuggestModal]]
- [[obsidian.EditorSuggest]]
- [[TFile]]
- [[LinktextとLinkpathとSubpath]]
- [[MetadataCache (Obsidian)|MetadataCache]]
- [[CacheMetadata (Obsidian)|CacheMetadata]]