Tempra.md
配列listの内容を表示して選ぶだけ。 これでややこしいスクリプトをタイプせずに済みます。 どれも似ていて覚えにくい。 何か本末転倒な気がするけど気にしない。
<%* const list = { "Lr: カーソル行読み込み" : "e = app.workspace.activeLeaf.view.editor\np = e.getCursor().line\ns = e.getLine(p)\n", "Lw: カーソル行上書き" : "e.setLine(p, s)\n", "Lp: カーソル移動" : "e.setCursor(p, 0)\n", "Lv: 全文上書き" : "e = app.workspace.activeLeaf.view.editor\ne.setValue(s)\n", "M: メッセージ" : "new Notice(s)\n", "Fp: ファイル絶対パス" : "p = app.vault.getAbstractFileByPath(f)\n", "Fr: ファイル読み込み" : "s = await app.vault.read(p)\n", "Fn: ファイル新規作成" : "p = await app.vault.create(f, s)\n", "Fw: ファイル上書き" : " await app.vault.modify(p, s)\n", "Fo: ファイルを開く" : "app.workspace.activeLeaf.openFile(p)\n", "Cr: クリップボード読み込み" : "s = await navigator.clipboard.readText()\n", "Cw: クリップボード保存" : "navigator.clipboard.writeText(s)\n", "X: コマンド実行" : "app.commands.executeCommandById(s)\n" } k = Object.keys(list) x = await tp.system.suggester(k, k) if (x) tp.file.cursor_append(list[x]) %>
使い方
メニュー形式で検索もできる。 リストの一文字目をタイプすると絞り込めます。 選択するとそのコードが書き込まれる。 まあ、テンプレートなんですけどね。
「全文読み込みとか無いじゃないか」と思われそうですが、デフォルトで揃っているコマンドは tp.
と打つと出てきます。
Templaterがサポートしてる分は、そちらを使うのが間違いも起こらない。
応用編
listの中身を書き換えれば普通の定型文にも使えます。 その方が用途としては広い。
でもスクリプト組むのも需要があるんですよ、個人的にですけど。 他のスクリプトから引っ張ってきてもいいけど、探すのが大変で。 楽するためにコードを書くのだから、書くのも楽したい。 怠ける力を高めたい。
まとめ
Templa.mdという名にすると探しにくいのでTempraにしました。