Jazzと読書の日々

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

Obsidian:Command ID を調べる方法

いつもリストをずらずらっと黙視する方法を使っていたのですが、やっぱり目が疲れます。 こういうのはスクリプトにしたい。

Command ID

たとえば上記アクションの最後でカンバンモードに切り替えています。 このとき使っているのがコマンドIDです。

s = "obsidian-kanban:toggle-kanban-view"
app.commands.executeCommandById(s)

上みたいにIDを呼び出すと実行できる。

便利な機能ですがIDを調べる必要があります。 それで検索用Dataviewを作りました。

Command-ID.md

下記のようになります。

```dataviewjs
const p = dv.el("input")
p.placeholder = "..."
p.style = "font-size:large;border-radius:3px;"
const b = dv.el("div", "")
b.style = "max-height:14000px;"
disp()

p.onkeyup = () => disp()

function disp(){
  r = new RegExp("("+ p.value +")","i")
  const d = dv.array(Object.entries(app.commands.commands))
    .filter(x => r.test(x[1].name) || r.test(x[1].id))
    .sort(x => x[1].id)
    .map(x => "<tr style='font-size:small;height:40px;padding:4px;'><td width=50%>" + x[1].name + "</td><td>" + x[1].id + "</td></tr>")
  b.innerHTML = "<br><table>" + d.join("\n") + "</table>"
}
```

テーブル形式に変換して表示。

使い方

検索欄にキーワードを入れると絞り込みます。 日本語名もIDも同時に対象にしての検索です。 右側がコマンドIDなのでコピーしてお使いください。

まとめ

Style SettingsでTableをカスタマイズしています。 Striped rowsは必須。