Jazzと読書の日々

iPadを筆記具として使う方法を模索します

Obsidian Templaterスクリプトを登録する方法

Obsidianの面白さはTemplaterでアクションが作れることだと思うけど、この沼にハマっている人を見かけない。 グローバルでも少ない。 テンプレートを作って終わりだと思われてます。 いやいや、そこじゃないですよ。

こっちの水はあまいのに。 甘露の沼だから、もっとハマる人、増えないかなあ。

Templaterスクリプト

なので、おさらい。 Templaterスクリプトの魅力をお伝えします。 これがわかると自作プラグインが量産。 自分好みにカスタマイズできる。

楽しくて仕方ない状態になってドーパミンがバンバン出ます。

push.md

まずスクリプトファイルを作ります。 といっても普通のmdファイルなのでObsidianで書くことができる。 下記のような書式になります。

<%*
s = tp.file.selection()
if(s){
  navigator.clipboard.writeText(s)
  return ""
}else{
  e = app.workspace.activeLeaf.view.editor
  p = e.getCursor().line
  s = e.getLine(p)
  if(s){
    navigator.clipboard.writeText(s)
    d = tp.file.content.split("\n")
    d.splice(p, 1)
    s = d.join("\n")
    e.setValue(s)
    e.setCursor(p, 0)
  }else{
    s = await navigator.clipboard.readText()
    tp.file.cursor_append(s)
  }
}
%>

<%*で始まり%>で閉じる。 その中にJavascriptスクリプトを書きます。 このファイルをpushという名前で保存します。

Templater登録

書いたスクリプトをTemplaterに登録します。 Templaterの設定のTemplate Hotkeysのところ。 「Add new hotkey for template」のボタンを押し、先ほどのファイルを登録します。 push.mdでしたね。 「push」と打てば出てくるので、選んで終了。

もしpush.mdが見つからない場合は、TemplaterのTemplate Folder Locationを確認してください。 push.mdがそのフォルダに入っていないと対象にならないようです。

ツールバー登録

次にツールバーに登録します。 モバイルツールバーの設定の一番下。 「グローバルコマンドを追加」でpush.mdを検索。 「Templater: Insert template/push.md」みたいなコマンドがあります。 これを追加。

これでツールバーから呼び出せるようになります。

Commander登録

そのままだとアイコンが「?」になるのでアイコンもつける。 コミュニティプラグインのCommanderを使います。

Commanderの設定でMobile Toolbarを開く。 先ほどのpush.mdが登録されていますが「No Icon」となってますね。 この「No Icon」をタップするとアイコン設定画面になります。 お好きなアイコンを選んでください。

pushの使い方

push.mdはカーソル行のカットです。 カットして行を詰める。 わざわざ範囲選択しなくていいので便利です。 範囲選択した場合は、その部分だけカットします。 空行で実行するとクリップボードの内容を貼り付けます。

Textwellで多用するアクションなので、Obsidianにも移植しました。 LifeLogで作ったブログカードを持ってくるとか、 要らなくなった行をカットするとか、よく使う。

まとめ

TemplaterにはCodeMirrorのコマンドが使えるので、カーソル位置の操作や全文変換が簡単にできます。 ただ個人で考えても発想に限界があるんですよね。 もし他の人だったらどう使うのだろう? それが気になります。