- User scripts for Obsidian Templater Plugin.
- Templaterコミュニティプラグインをある程度使っていて、APIのもっと初歩的で具体的なサンプルがほしい人。
- 例えば、「Templaterコミュニティプラグインって、templateにJavaScriptが書けるらしいね。
- そこからObsidianのAPIが呼べるので、いろいろできそう。
- でも、うまくいかなかった。よくわからない。」
- 便利な機能の共有用
- 後述の
sakuraeditor-bookmark-like
とinsert-file
の機能が使えるようになります。
- 後述の
- ノウハウの共有用
- Templaterプラグインは、JavaScriptでObsidianのAPIを呼べるので、便利ですよね。
- テキストエディタのマクロのようなことができます。
- 例えば秀丸エディタ、テキストエディター「Mery」、サクラエディタ、のような。
- コミュニティプラグインに比べて、手早くObsidianに機能追加をしたいときに向きます。
- さわってみたところ、例えば
Hello, World!
がすぐできるような資料があると楽そう、と感じました。 - そこで後述の
templater-js-hot
とinsert-file
を公開します。何かの参考になれば幸いです。
sakuraeditor-bookmark-like
- どんな機能?:
- 現在行をハイライトします。トグル動作します。
- 範囲選択した場合は、Obsidian標準機能の「ハイライトをトグル」と同じ動作です。
- 他のエディタの機能で例えると:
- サクラエディタの「ブックマーク設定・解除」(
CTRL + F2
) - 秀丸エディタの「現在行をマーク」
- サクラエディタの「ブックマーク設定・解除」(
- どんな機能?:
sakuraeditor-bookmark-next
- サクラエディタの「次のブックマークへ」(
F2
)
- サクラエディタの「次のブックマークへ」(
sakuraeditor-bookmark-prev
- サクラエディタの「前のブックマークへ」(
SHIFT + F2
)
- サクラエディタの「前のブックマークへ」(
insert-file
- どんな機能?:
- 現在行に指定したファイルを挿入します。(現在行は削除します)
- 用途は?:
- 例えばデイリーノートのテンプレートに組み込みます。
- 例えば
20時のタスクをここに挿入する
という行を用意して、20時にそれをクリック。すると、20時のタスクをここに挿入する
という行は削除され、そこに、用意しておいたTemplatesファイルが挿入されます。さらにそのファイルの末尾に21時のタスクをここに挿入する
と書く使い方もできます。
- 例えば
- あくまで一例です。人によってもっとマッチする使い方がある想定です。
- 例えばデイリーノートのテンプレートに組み込みます。
- どんな機能?:
templater-js-hot
- スニペット的なものです。
Hello, World!
のように、小さく、単体で動作するコード群です。- コメントアウトされています。
- それぞれアンコメントすることで、実際に動作します。
- 筆者は
CTRL + T
に割り当てて使っています。sakuraeditor-bookmark-like
とinsert-file
は、これを使って開発しました。
- メリットは小規模ゆえ導入コストと運用コストが低いこと、
- デメリットは(ほかの大規模開発環境に比べて)開発サポート機能が少ないことです。
- まず導入して小規模scriptを書いてみる、という用途に向く想定です。
- スニペット的なものです。
sakuraeditor-bookmark-like
- Templater
- Obsidianに、Templaterコミュニティプラグインをインストールします。
- フォルダ
- Templater設定の「User Script Functions」の「Script files folder location」を設定します。
- 例えば
TemplaterJS
- 例えば
- Templater設定の「User Script Functions」の「Script files folder location」を設定します。
- ファイル配置
- vault配下のディレクトリ
Templates
とTemplaterJS
ディレクトリに、- 当リポジトリの
Templates
とTemplaterJS
ディレクトリの内容をコピーします。 - (MarkdownファイルとJavaScriptファイルです)
- 当リポジトリの
- vault配下のディレクトリ
- ホットキー
- Templater設定の「Template Hotkeys」欄に、例えば
Templates/sakuraeditor_bookmark_like.md
を入力します。 - 近くにある「+」ボタンをクリックし、ホットキー設定を開き、右上欄に
sakura
を入力して、「Templater: Insert Templates/sakuraeditor_bookmark_like.md」が表示されたことを確認し、 - 右の「+」ボタンをクリックし、
- 例えば
CTRL + F2
キーを押して、キーを割り当てます。
- Templater設定の「Template Hotkeys」欄に、例えば
- 動作確認
CTRL + F2
キーを押し、現在行がハイライトされることを確認します。- 再度押して、現在行のハイライトが消える(トグル動作する)ことを確認します。
- Templater
sakuraeditor-bookmark-next
- 筆者はひとまず、使わずに様子見しています。
- Obsidianの標準機能の
F2
(ノートのリネーム)と衝突するためです。- 筆者はひとまず、ノートのリネームを優先しています。
- Obsidianの標準機能の
- 筆者はひとまず、使わずに様子見しています。
sakuraeditor-bookmark-prev
- 導入
- 前提は、
sakuraeditor-bookmark-like
の作業を実施済みであること。 - 同様に、
sakuraeditor_bookmark_like_prev.md
をSHIFT + F2
に割り当てます。
- 前提は、
- 動作確認
SHIFT + F2
キーを押し、ハイライトした行にジャンプすることを確認します。
- 導入
insert-file
- 導入
- 前提は、
sakuraeditor-bookmark-like
の作業を実施済みであること。 - Advanced URI
- Advanced URI コミュニティプラグイン をinstallします。
- Advanced URI のオプション画面を開き、
Open file on write
等の設定をすべてoffにします。動作確認を確実に行うためです。なお筆者はそのまますべてoffで使っています。
- Template command 登録
- Templater設定の「Template Hotkeys」欄に、例えば以下の2つを登録します:
Templates/insert_file.md
Templates/insert_fileを書く用テンプレ.md
- Templater設定の「Template Hotkeys」欄に、例えば以下の2つを登録します:
- 前提は、
- 動作確認
- コマンドパレットで
insert_file
と入力するか、スラッシュコマンドで/insert_file
と入力します。 - 候補から
insert Templates/insert_fileを書く用テンプレ.md
を選びます。 - 現在行に
[test用mdを挿入(現在行は削除)](obsidian://adv-uri?commandid=templater-obsidian:Templates/insert_file.md&insert-filename=Templates/insert_fileを書く用テンプレ用test.md)
が挿入されることを確認します。 - それをクリックします。
- 現在行が
これは insert_fileを書く用テンプレ用test.md の中身です
となることを確認します。
- コマンドパレットで
- 補足
- Shukuchi(縮地)コミュニティプラグイン があるとキーボードだけで素早く使えて便利です。
- あたかも「便利なボタン」を「キーボードで素早く押す」かのように使えます。筆者はこの方法で毎日使っています。
- 導入
templater-js-hot
- 導入
- 前提は、
sakuraeditor-bookmark-like
の作業を実施済みであること。 - 同様に、
Templater_js_hot.md
をCTRL + T
に割り当てます。
- 前提は、
- 編集
Templater_js_hot.js
を編集します。hello, world
の行をアンコメントします。
- 動作確認
CTRL + T
キーを押し、カーソルのある場所に「Hello, World!」が挿入されることを確認します。
- 導入
- Script User Functions
- TemplaterのScript User Functionsの説明です。
- 当リポジトリも、Script User Functionsの方式をとっています。
- TemplaterのScript User Functionsの説明です。
- Obdisian Editor API
- editorのAPIリファレンスです。
- Templater File Module API
- Templater tp.file のAPIリファレンスです。
- 📕Templaterでよく使うコマンド・スニペット
- scriptを書くとき参考になります。
- Obsidian Tempura
- Script User Functionsと、Templater scriptの統合開発環境です。