既存のプラグインで割と簡単にできたので紹介。
やりたいこと
- 外出先で簡単にhledgerのトランザクションを入力したい。
- 家に帰ってからファイルのマージ作業はしたくない。
- 外出先でhledgerコマンドそのものは実行できなくてもいい。
- 自宅のMacでhledgerを使用。外出先のiOSからObsidianを使ってトランザクションを書く。
準備
Obsidianをインストールしたら次の二つのコミュニティプラグインを導入する。
設定方法
まず、Templaterで使うテンプレートを準備する。
<% tp.date.now() %> * <% tp.system.prompt("description") %>
expenses:変動費:食費 <% tp.system.prompt("amount") %> JPY
assets:cash:wallet
自分はこれにHledger templateという名前をつけて、VaultのConfig/Templateフォルダに入れた。
Templaterの設定からTemplate folder locationを設定する(この例だとConfig/Templateでよい。)。
次に、実際にトランザクションを書いていくノートを用意する。
Vault直下に、Hledger obsidianなどのファイル名でノートを作成する。
ノートを開いたらコマンドからTemplaterを選択して作成したテンプレートを実行する。 するとプロンプトが出てくるので金額(amount)と取引名(description)をそれぞれ入力する。 これでノートにトランザンクションが追加できるようになる。
テンプレートをみて貰えばわかるとおり、アカウント名は固定されているので、アカウントは手動で修正することになる。 このときいちいちアカウント名を正確に覚えていられないので、 Various Complementsプラグインによる補完機能を利用する。
Various Complementsには辞書参照機能があり、これを使う。標準ではオフになっているので設定から有効化する。
その後、辞書ファイル(dictionary.md)を適当な場所に作ったら、このファイルに普段使っているアカウント名を登録する。
自分はhledger accountsで全アカウントを表示させてこれを転記した。アカウントの末尾にはタブ文字を2つ入れるのを忘れないこと。
以上でアカウント名を修正する際に、補完機能を使って正確なアカウント名に修正することができる。