Jazzと読書の日々

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

Obsidian Templaterのvault系ファイル操作一覧

覚え書き。

基本操作

Templater沼にズボボボボ。 基本的なところは上記記事を参照のこと。 今回はファイルを扱うコマンドを確認してみます。

ファイル操作

相対パスはfile、絶対パスはpathで区別します。相対パス絶対パスに変換するには下記コマンドをお使いください。

file = "foo/bar.md";
path = app.vault.getAbstractFileByPath(file);

ファイルを新規作成する。Templater専用コマンドで、ファイルのタイトルを決めて、作成後に開く方法。

await tp.file.create_new(text, title, true);

ファイルを新規作成する。相対パスを使う。デフォルト以外のフォルダにもファイルが作成できる。

path = await app.vault.create(file, text);

ファイルを読み込む。絶対パスを使う。

text = await app.vault.read(path);

ファイルを上書き保存する。

await app.vault.modify(path, text);

ファイルに追記する。

await app.vault.append(path, text);

ファイル名を書き換える。

await app.vault.rename(path, file);

ファイルをゴミ箱に入れる。隠しフォルダにファイルが溜まるので、モバイル向きではない。

await app.vault.trash(path, true);

ファイルを削除する。

await app.vault.delete(path);

ファイルを開く。

await app.workspace.activeLeaf.openFile(path);

使い方

デイリーノートをLogseqみたいに閲覧します。

<%*
FORMAT = "YYYY-MM-DD";

s = "";
for(i=0;i<30;i++) s+= "#### ![[" + tp.date.now(FORMAT, -i) + "]]\n";
p = app.vault.getAbstractFileByPath("Reviews.md");
if(p){
  await app.vault.modify(p, s);
}else{
  p = await app.vault.create("Reviews.md", s);
}
await app.workspace.activeLeaf.openFile(p);
%>

以前に出したスクリプトだけど、これのおかげでデイリーノートを見返す機会が増えました。 愉しいスクリプトは体験が変わる。

スクリプトの面白いのは、作ってみないと自分の欲しかったものかどうかわからないところ。 使いながら改造しているうちに「これだ」と発見します。 考えているだけでは見つからない。 動いているうちに自ずから見えてくる。

まとめ

他にもいろいろあるみたい。