Jazzと読書の日々

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

Obsidian:タスクリストをウィジェットに置いてみる

置くだけなんですけど。

AnyText

Any Text · Widgets 1.10.3
分類: ユーティリティ,ライフスタイル
価格: 無料 (Sindre Sorhus)

テキストをウィジェットにするアプリ。

ホーム画面にAnyTextをウィジェットとして追加すると、そこにメモできます。 10個のメモを残せる。 とてもシンプルなアプリです。

面白いのは、このアプリをインストールするとショートカットに「Set Widget Text」が加わること。 これを活用することを考えてみました。

Import Shortcut RecipeWidget

使い方

あらかじめ、AnyTextのWidget1をホーム画面に置いてください。

Obsidianにテキストを書き「共有」から上記レシピWidgetを呼び出すと:

こんな感じにホーム画面にテキストが表示されます。

単に「Set Widget Text」だけだと表示を更新したりしなかったりと不安定なので、AnyTextを一度呼び出しています。 作者さんのサイトを読むと、どうもiOSの不具合のようです。 今後OSのアップデートによっては本体を呼び出さずに済むかもしれません。

タスクリスト

テキストを置くだけなら、わざわざObsidianを使う理由がない。

ということで、未完了タスクをウィジェット化するスクリプトを組んでみました。

```dataviewjs
const d = dv.pages().file.tasks
  .filter(x => !x.completed)
dv.taskList(d)

const e = dv.el("button", "widget")
e.onclick = () =>{
  s = dv.markdownTaskList(d).replace(/^- \[.\]/mg,"□")
  const url = `shortcuts://x-callback-url/run-shortcut?name=Widget&x-success=obsidian:&input=${encodeURIComponent(s)}`
  open(url)
}
```

Dataviewスクリプトなのでリーディングビューでお使いください。

タスクリストが表示され「widget」のボタンが出てきます。 この「widget」をタップするとタスクをウィジェットに書き込みます。

まとめ

AnyTextには、タップするとショートカットを実行するオプションもあるので、ショートカットでこのObisidianのページを開くように設定すると、さらにタスク管理がしやすくなると思います。