Jazzと読書の日々

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

Obsidianでちょっとした計算をしてみる

2 + 4 + 6 + 8 + 10 + 12

Dataview

dataviewを使うと簡単な計算ができます。 四則演算と関数が使える。 ただ、入力が面倒なんですよね。 書式もすぐ思い出せないし。

なのでスクリプトを用意しました。

Calc.md

Templaterスクリプトです。

<%*
e = app.workspace.activeLeaf.view.editor
p = e.getCursor().line
s = e.getLine(p)
s = s.replace(/@/g, "Math.")
s = "`$= " + s + " `\n"
e.setLine(p, s)
%>

TemplaterのHotkeysに登録してお使いください。

使い方

数式を書いてスクリプトを実行。 計算結果が表示されます。

関数はMath.を使うのですが、@で代用することにしました。 @sqrt(2)とすればMath.sqrt(2)に変換されます。

moment()

日付の計算もできます。

moment().add(30, "h").format()

30時間後を計算する。 -30にすれば30時間前。 "h""d"にすれば30日後。

ただmomentって書くのが面倒だから、azooKeyにクリップしておくといいかもしれません。 こういう面でもazooKeyのコピー履歴は便利。

コンテキストメニュー

今回のはカーソル行を対象とする雛形です。

DraftPadでアシストが使えた頃、このタイプの行加工に助けられました。 デジタルの利点はテキストの加工を自動化できるとこだと思う。

たとえばセンタリングするスクリプト

<%*
e = app.workspace.activeLeaf.view.editor
p = e.getCursor().line
s = e.getLine(p)
s = "<center>" + s + "</center>\n"
e.setLine(p, s)
%>

と書くことができます。 手作業だとタイプミスも起こるし、反復作業はオートマティックに処理したい。 こうしたスクリプトコンテキストメニューにまとめると、ツールバーの「コンテキストメニューをカーソルの下に表示」で呼び出せます。

コンテキストはCommanderプラグインのEditor Menuで編集できます。

まとめ

コンテキストメニュー、便利かも。