Open13

obsidian 環境を整える

ピン留めされたアイテム
kobapikobapi
kobapikobapi

モチベ

Notion → Obsidian に移行できる準備はしておくか、ということで Notion で今までやっていたことを Obsidian でもできるように設定 🌱

他の PC に Obsidian 入れる時に何入れてたっけとならないようにするためのメモでもある ⭐

kobapikobapi

Quick Add

  • Notion ではボタンを配置して特定カテゴリのドキュメントを作っていて、同じように作成したかったのでこちらを導入
  • command + shift + t をショートカットキーに割り当てて、特定のディレクトリに作成できるように設定

https://github.com/chhoumann/quickadd

  • 以下の例では _template/ にあるテンプレートを引っ張ってきて、 030_work ディレクトリ以下に作成されるようになっている
kobapikobapi

その他やったこと

  • Notion の時は1つのデータベースに詰め込んで、それをタグで分類する運用だったが 030_work などカテゴリごとにディレクトリを切るように変更

あとはあまりいじってないので案外スムーズに移行できそうで嬉しい 😺
何かプラグインを増やしたら追記する。

kobapikobapi

今のディレクトリ構成

  • _templates: 各種ドキュメントのテンプレート。
  • 000_tasks: タスク管理。Kanban を使用。
  • 010_inbox: とりあえずで置いておける場所。
  • 020_reflection: 振り返りの格納場所。
  • 030_work: 仕事に関する内容を入れる場所。
  • 040_knowledge: 技術だったり学んである程度まとめたものを入れる場所。
  • 900_private: 私生活とかそういう内容を入れる場所。
  • 999_archive: まだ使っていないが不要になったものをうつす場所。

kobapikobapi

Full Calendar + Dataview

  • ここで挙げた Kanban を廃止しました 😢
  • タスクが一元管理されることとそれが Daily Note で見れることを大事にしたく、Full Calendar と Dataview に置き換えました

https://github.com/obsidian-community/obsidian-full-calendar
https://github.com/blacksmithgu/obsidian-dataview

Full Calendar の設定

  • 000_tasks/work, 000_tasks/private をタスク管理場所に設定

  • コマンドパレットで Full Calendar: New Event を選択し、タスクを追加

  • タスクを追加すると Full Calendar に反映され、指定したフォルダにタスクが保存される

こうすることでタスクの一元管理が可能となる。日付を必ず設定する必要があるものの、自然と期限と自分のキャパを考えることができるようになる。

Dataview の設定

  • ここまででタスクの一元管理ができたが、それを Daily Note で確認する方法がない

  • それを Dataview でクエリを書いて設定する

    • Dataview の時刻表記がデフォルトでは yyyy-MM-dd になっていないので注意
  • 以下が今日のタスクを取得するクエリになるので、それを Daily Note に貼り付ける。

  • タスクを特定フォルダの下に置いておくことでその下のタスクの日付で検索することができる。

const today = dv.current().file.name;
dv.table(["File", "startTime", "endTime", "completed"],
    dv.pages('"000_tasks/work" OR "000_tasks/private"')
	    .where(p => p.file.frontmatter.date === today)
	    .sort(p => p.startTime)
	    .map(p => [p.file.link, p.startTime, p.endTime, p.completed]));
  • 前日までの未完了タスクも同じようにクエリを書いて取得する
const today = dv.current().file.name;
dv.table(["File", "startTime", "endTime", "completed"],
    dv.pages('"000_tasks/work" OR "000_tasks/private"')
	    .where(p => p.file.frontmatter.date < today)
	    .sort(p => p.startTime)
	    .map(p => [p.file.link, p.startTime, p.endTime, p.completed]));

↓こんな感じになります

kobapikobapi

Hover Editor

  • リンクを Hover すると小さくプレビューが表示されるプラグイン

https://github.com/nothingislost/obsidian-hover-editor

  • 以下のように表示され、プレビュー内でタスクを完了にしたりすることもできるので上で書いた Dataview との相性も良く採用してます