Jazzと読書の日々

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

Obsidianにいろいろボタンをつけてみた

実際に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)
}