実際にURLスキームを使っているのはボタン形式です。
Room
はじめにRoomが開くので、いっしょにボタンも付けています。
Templaterスクリプトを呼び出したり、内蔵コマンドを起動したり、他のアプリを立ち上げたり。 ほしいものをほしいだけ追加。 いろいろ小回りが利きます。
button.md
dataviewjsの雛形スクリプト。
```dataviewjs
const btn1 = dv.el("button", "Review")
btn1.onclick = function(){
s = "templater-obsidian:Template/Review.md"
app.commands.executeCommandById(s)
}
const btn2 = dv.el("button", "BRAT")
btn2.onclick = function(){
s = "obsidian42-brat:BRAT-checkForUpdatesAndUpdate"
app.commands.executeCommandById(s)
}
const btn3 = dv.el("button", "FILE")
btn3.onclick = function(){
s = "shareddocuments:"
open(s)
}
```
ボタンを作ってクリックの定義をする。 これを反復。
1行目にボタンが並びます。
Templaterスクリプト
スクリプトは「templater-obsidian:スクリプト名」の形式で呼び出します。 あらかじめTemplaterでHotkeyに登録されていることが条件です。
内蔵コマンド
コマンドidを呼び出します。 コマンドidは下記スクリプトで調べることができます。
```dataviewjs
d = dv.array(Object.entries(app.commands.commands))
.sort(x => x[1].id)
.map(x => [ x[1].name, x[1].id ])
dv.table([ "command", "id" ], d)
```
BRATのアップデートチェックはこの方法で。
URLスキーム
URLスキームがあるアプリならopen()で起動。
写真アプリも画像のアップロードに使うのでボタン化してます。
まとめ
ツールバーに置くほどではないけど、たまに使うコマンドをホームページにまとめておく。 そんな感じの使い方です。
12:30
ブックマークを開くこともできます。
const btn4 = dv.el("button", "Bookmarks") btn4.onclick = function(){ s = "bookmarks:open" app.commands.executeCommandById(s) }