TemplaterはTextwellのアクションに当たります。 ちょっとした機能を自作して追加。
Templater
Templaterアクションは下記形式のmdファイルになります。
<%* スクリプトの中身 %>
たとえばGyazoアドレスをMarkdownに変換する場合は:
<%* s = tp.file.selection() s = s.replace(/^(https:\/\/gyazo\.com\/.*)/, "![]($1/raw)") return s %>
これをTemplaterのTemplate Hotkeysに登録すれば出来上がり。
シンプルでしょ。 選択範囲を変換し、その値を返す方法です。 正規表現の書き方がわかると応用が利くと思います。
コマンド一覧
TemplaterにはcodeMirrorのコマンドが使えるので「カーソル行を取得して変換」というアクションを組むこともできます。
<%* e = app.workspace.activeLeaf.view.editor p = e.getCursor().line s = e.getLine(p) s = s.replace(/^(https:\/\/gyazo\.com\/.*)/, "![]($1/raw)") e.setLine(p, s) %>
わざわざ選択する必要がなくなりました。
完成品はこちらを参照してください。 はてなブログへの投稿もできます。
ファイル操作
ファイル操作もできます。 デイリーノートを振り返る、なんてこともできます。
長文を分割執筆するPlaylistが気に入ってます。 ファイルのマージを試行錯誤できる。 Obsidianの奥深さを感じます。
Snap
こうしたスクリプトも記事もTextwellで下書きしています。
共有から「Snap」を選ぶと、Obsidianを起動せずにファイルの書き込みができます。 Obsidianは起動に時間がかかるのがネックですね。 思いつきを書き留めるにはTextwellやDraftPadの方が利便性が高いと思います。
まとめ
Templaterの全体像はよくわかりません。 Tempuraを見るとプロパティの操作までできるようだし。 プラグインに近いこともできそうです。