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