こんにちは。Supership株式会社の @bizyutyu です。
今回は、増え続けるガジェットの管理にObsidianを使い始めた話を紹介します。Obsidian初心者の私が調べながら試してみた内容なので、同じくこれから始める方の参考になれば幸いです。5分程度でサクッと読める分量にまとめました。
この記事は Supershipグループ Advent Calendar 2025 の9日目の記事です。
TL;DR
- Obsidianには Dataview という人気のあるプラグインがある
- テンプレートを用意すればフォーマットの統一も簡単
- GitHubで管理すれば複数端末でも同期できて便利
きっかけ
「このマウス、いつ買ったっけ?」
「スピーカーのスペック忘れたな..」
「そもそも何でこれを買ったんだっけ?」
気づけば手元にはイヤホン、キーボード、マウス、ケーブル類...と大量のガジェットが増えていました。こんな疑問が浮かぶたびにAmazonの購入履歴を漁ったり、公式サイトでスペックを調べたりすることに嫌気がさし、ガジェット情報を一元管理することにしました。
なぜObsidianを選んだか
ガジェット管理の方法として、元々使用経験のあるNotionや、スプレッドシート等も検討しましたが、最終的にObsidianを選びました。
理由は以下の3点です:
- データがローカルに残る: すべてMarkdownファイルなので、サービス終了を心配する必要がない
- 自由度が高い: スペック情報だけでなく、使用感のメモや比較なども自由に書ける
- プラグインが豊富: コミュニティプラグインで機能を拡張できる
試したこと
1. フォルダ構成
下記のように、ガジェット情報とテンプレートを分けて管理してみます。
Vault/
├── Gadgets/ # ガジェット情報を格納
│ ├── イヤホン/
│ ├── キーボード/
│ └── 充電器/
├── Templates/ # テンプレートファイル
└── gadget-list.md # Dataviewで一覧を表示するページ
カテゴリごとにフォルダを分けておくと、ファイルが増えても探しやすいです。
2. テンプレート作成
新しいガジェットを登録するときに使うテンプレートを用意しました。
---
tags:
- gadget
category: "[カテゴリ: モニター/イヤホン/キーボードなど]"
brand: "[メーカー名]"
model: "[型番]"
purchase_date: "{{date:YYYY-MM-DD}}"
price:
status: "使用中"
---
## 基本情報
[基本情報を記載]
## 購入理由
[購入の理由を記載]
## 関連リンク
- [製品ページ](URL)
ファイル冒頭の --- で囲まれた部分を Properties と呼びます。ここに書いた情報は、Dataviewでフィールドとして参照できます。
statusには「使用中」「保管中」「処分済み」なども設定しておくと、良いのかなと思いました。これらの情報はDataviewのフィルタリング条件に使えるので、後々便利です。
3. Dataviewで一覧表示
ここが今回のメインかなと思っています。ここでは、私自身が Dataview プラグインについて今回調査した内容を簡単に紹介します。
なぜDataviewに着目したか
Obsidianのプラグインは膨大にありますが、「一覧 自動生成 プラグイン」という単語で調べると、多くの記事でDataviewが紹介されていました。
調べてみると、Dataviewは以下の点で評価が高いようです。
- ダウンロード数がトップクラス: コミュニティプラグインの中でも特に人気で、Githubのスター数も8000以上ある(執筆時点)
- 情報が豊富: 利用者が多いため、日本語の解説記事やサンプルが見つかりやすい
- 汎用性が高い: ガジェット管理以外にも読書記録、タスク管理など様々な用途で使えそうで、他のプラグインの前提になっていることも多い
初心者の私にとって「困ったときに調べやすい」のは大きなメリットだと感じ、まずはDataviewから試してみることにしました。
Dataviewとは
DataviewはObsidian内のメモ(Markdown形式)をデータベースのように扱えるプラグインです。DQL(Dataview Query Language) という独自のクエリ言語を使って、条件に合うノートを抽出・表示できます。
概要を理解するには、以下の動画がわかりやすかったです(動画の後半ではこの記事で紹介していない機能も説明されています)。
SQLとの違い
DQLはSQLに似ていますが、いくつか違いがあります。
| 項目 | SQL | DQL |
|---|---|---|
| 対象 | データベースのテーブル | Vault内のMarkdownファイル |
| 開始 |
SELECTで始まる |
クエリタイプ(TABLE, LISTなど)で始まる |
| データ取得元 | FROM テーブル名 |
FROM タグ/フォルダ |
最大の特徴は、クエリの最初に「どう表示するか」を指定する点だと思います。SQLではSELECTから始まりますが、DQLでは出力形式を決めるクエリタイプから始まります。
4つのクエリタイプ
調査した結果、DQLには主に4つのクエリタイプがあることが分かりました。
| クエリタイプ | 表示形式 | 用途 |
|---|---|---|
TABLE |
テーブル形式 | 複数の属性を列として一覧表示したいとき |
LIST |
箇条書き | シンプルにファイル名を列挙したいとき |
TASK |
タスクリスト | ノート内のチェックボックスを集約したいとき |
CALENDAR |
カレンダー | 日付ベースで可視化したいとき |
今回のガジェット管理では、複数の属性(メーカー、型番、購入日など)を一覧で見たいのでTABLEを使っています。
暗黙的フィールド
Dataviewでは、Propertiesに自分で定義したフィールド以外にも、ファイルのメタデータとして自動的に取得できる暗黙的フィールドがあります。これらは file.xxx の形式でアクセスできます。
| フィールド | 内容 |
|---|---|
file.name |
ファイル名(拡張子なし) |
file.folder |
ファイルが存在するフォルダ |
file.link |
ファイルへのリンク |
file.size |
ファイルサイズ(バイト) |
file.ctime |
作成日時(時刻を含む) |
file.cday |
作成日(日付のみ) |
file.mtime |
更新日時(時刻を含む) |
file.mday |
更新日(日付のみ) |
file.tags |
ファイル内のすべてのタグ |
例えば、Propertiesに購入日を設定し忘れても、file.cday(ファイル作成日)で代用できます。
TABLE file.name AS "ガジェット名", file.cday AS "登録日"
FROM #gadget
SORT file.cday DESC
最近更新したノートを探したいときは file.mday が便利です。
TABLE file.name AS "ガジェット名", file.mday AS "最終更新"
FROM #gadget
SORT file.mday DESC
LIMIT 10
暗黙的フィールドを知っておくと、Propertiesを細かく設定しなくても、フィルタリングができます。他にも多くの暗黙的フィールドがあるので、詳しくは公式ドキュメントを参照してください。
実際のクエリ例(gadget-list.md)
先ほどのフォルダ構成で紹介した gadget-list.md に、以下のようなDataviewクエリを書いておきます。こうすることで、ガジェットを追加するたびに一覧が自動更新されます。
# ガジェット一覧
## 使用中
```dataview
TABLE brand AS "メーカー", model AS "型番", purchase_date AS "購入日", price AS "価格"
FROM #gadget
WHERE status = "使用中"
SORT purchase_date DESC
```
## すべてのガジェット
```dataview
TABLE category AS "カテゴリ", brand AS "メーカー", model AS "型番", status AS "状態"
FROM #gadget
SORT category, purchase_date DESC
```
クエリの構造はシンプルです。
-
TABLE ... AS "表示名"→ 表示する列を指定 -
FROM #gadget→#gadgetタグがついたノートが対象 -
WHERE status = "使用中"→ 条件でフィルタリング -
SORT purchase_date DESC→ 並び替え
SQLを触ったことがあれば、比較的スムーズに理解できると思います。
4. GitHubでバージョン管理
VaultをGitHubのプライベートリポジトリで管理しています。これにより、以下のメリットがあります。
- 複数端末での同期: 会社PCと自宅PCで同じデータを参照できる
- 変更履歴の管理: いつ何を変更したか追跡できる
- バックアップ: ローカルが壊れてもリモートに残る
運用としては、ガジェットを追加・更新したタイミングでcommit & pushするシンプルな形です。
まとめ
- Obsidian + Dataviewでガジェット管理の仕組みを構築した
- テンプレートで情報を統一フォーマットで記録できる
- GitHub管理で複数端末での同期・バックアップも安心
Obsidian初心者の私でも、調べながら進めることで基本的な仕組みを作ることができました。今回使用したDataviewは情報も多く、初心者でも取り組みやすいプラグインだと感じています。この記事が、ガジェット等管理したいものがある方、これからObsidianを始める方の参考になれば幸いです。
参考
最後に宣伝です。
Supershipではプロダクト開発やサービス開発に関わる人を絶賛募集しております。
ご興味がある方は以下リンクよりご確認ください。
👉 Supership 採用サイト
是非ともよろしくお願いします。