Jazzと読書の日々

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

Obsidian:Templaterアクションのおさらい

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を見るとプロパティの操作までできるようだし。 プラグインに近いこともできそうです。