【Obsidian】Dataviewプラグインをおさらいする

こんにちは、相戸ゆづなです!

当ブログではOIbsidianの記事を何度か書いていますが、プラグインに関してはひとつもない状態でした。

そこで今回はObsidianのプラグイン「Dataview」について書いていこうと思います。

目次

Dataviewプラグインについて

Dataviewプラグインは、こちらが指定した条件式に応じてテキストファイルを自動で検索、結果を表示します。

とくにフロントマターを使ったデータ制御が可能です。具体的に言うと、下記のようなものが挙げられます。

  • フロントマターに指定した日付順に並べる
  • フロントマターAに入ってる文字列Bのみ抽出する
  • フロントマターCの数字を基準に一覧結果を並べる

<余談>
Dataviewはテキストファイルだけではなく、タスクの抽出・管理もできます。
ただ、私がタスク管理方面で使ったことがないので今回は省略します。

Dataview の主な型

``` dataview
    table or list
    (talble指定時のみ) hoge as "foo",hoge as "foo"
    from "hoge" and #foo
    where hoge = "foo"
    sort hoge asc
 ```

1.dataviewの宣言(1行目)

コードブロックを記載し、二行目にデータビューの宣言を行ないます。

2.tableもしくはlistの指定(2行目)

次にどの形式で一覧を表示するか設定します。今回はテーブルもしくはリストの表示を選択。

3.(tableの場合)列の指定(3行目)

テーブル形式の場合、ファイル名以外にも列を追加できます。

hogeの部分にフロントマターを、fooの部分に見出しに入れたい文字を入れます。

2個以上列を追加したい場合、カンマ(,)で区切って設定できます。

4.メモファイルを探す範囲(4行目・フォルダーもしくはタグ)

「from」の行はメモを探す範囲が指定できます。フォルダーもしくはタグが対象です。

Inboxフォルダーを指定する

from "Inbox"

保管庫全体のメモの中から#Tagを探す

from #Tag

Inbox/Testフォルダーにあるファイルかつ#Tagを指定する

from "Inbox/Test" and #Tag

5.詳しい条件文を指定する(5行目)

「where」でフロントマターを使用した細かい条件文を作成できます。

フロントマターhogeに入ってる項目がfooのメモを表示

where hoge = "foo"

フロントマターhogeの数値が10以上の場合、メモを表示

where 10 < hoge

フロントマターhogeの数値が1以上、10以下の場合、メモを表示

where 1 < hoge and hoge < 10

5.一覧結果をソートする(6行目)

「sort」の項目で一覧結果の順番を設定します。

フロントマターhogeを数値や文字列でソートし、「asc=昇順・desc=降順」で表示します。

メタデータを使う

Dataviewプラグインによって、いくつかのメタデータが自動でインデックスされます。

そのため、メタデータに保存されている情報を使って、検索に利用・ソートできます。

主に使われるメタデータは下記のようなものがあります。

  • file.name(ファイル名)
  • file.cday(ファイルが作成された日付)
  • file.etags(メモ内にあるタグのリスト)

例:今日作成したメモを検索する

where file.cday = date(today)

詳しいメタデータリストは公式ドキュメント(英語)を参照してみてください。

https://blacksmithgu.github.io/obsidian-dataview/annotation/metadata-pages/

試しに作ってみる

例1:Inboxフォルダーに入っているメモを抽出・日付順にソートする(table)

``` dataview
table
from "Inbox"
sort file.cday asc
```

例2:Inboxフォルダーかつ#MOCがついてるメモを抽出・日付順にソートする(list)

``` dataview
list
from "Inbox" and #MOC
sort file.cday asc
```

例3:Inboxフォルダーかつ今日作成したメモを抽出・日付順にソートする(list)

``` dataview
list
from "Inbox"
where file.cday = date(today)
sort file.cday asc
```

最後に

これを覚えればとりあえず基礎……なんですけど、思っていた以上にややこしいですねこれ。

多分これは実際にコードを書いた方が早いやつです。

サンプルをいじりながら「Dataview」ってこんな感じなんだ~、とふんわり覚えていただけるだけでも……うれしいな……。

参考リンク

https://blacksmithgu.github.io/obsidian-dataview/

Dataviewプラグインの公式ドキュメントです。

読み応えがあって楽しいぞ(白目)

追記

2023/05/07 追記

Dataviewの小ネタ記事をいくつか書きました。一緒に読んでいただけると幸いです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次