この記事でできること
「Obsidianに興味はあるけど環境構築めんどくさそう...」という人向けの記事です。
Obsidianをインストールしていない状態から、次の2つのことができる最低限の環境構築を目指します。
- トピックごとのメモ
- 日報・週報・月報
もちろん環境構築後に自分でカスタマイズすることで、ここにはない機能も追加できます。
環境構築
1. フォルダの作成
まずは次のフォルダ構成をお好みの場所に作ってください。.mdのファイルの中身は空でOKです。
おすすめはドキュメント内ですが、あとでObsidianにVault登録するのでどこにあっても問題ないです。
📁 obsidian_notes ←名前は何でもいい
├─📁 diary
│ ├─📁 daily
│ ├─📁 monthly
│ └─📁 weekly
├─📁 Notes ←名前は何でもいい
└─📁 template
│ 📄 uniquenote.md
└─📁 templater
📄 dailynote_temp.md
📄 weeklynote_temp.md
📄 monthlynote_temp.md
一括生成用bat
以下のbatをVaultを作成したいフォルダ上で実行すると、上記のフォルダ階層を一括生成できます。
@echo off
set "ROOT=obsidian_notes"
set "DIARY=%ROOT%\diary"
set "NOTES=%ROOT%\Notes"
set "TEMPLATE=%ROOT%\template"
set "TEMPLATER=%TEMPLATE%\templater"
:: フォルダ作成
mkdir "%DIARY%\daily"
mkdir "%DIARY%\monthly"
mkdir "%DIARY%\weekly"
mkdir "%NOTES%"
mkdir "%TEMPLATER%"
:: ファイル作成
type nul > "%TEMPLATE%\uniquenote.md"
type nul > "%TEMPLATER%\dailynote_temp.md"
type nul > "%TEMPLATER%\weeklynote_temp.md"
type nul > "%TEMPLATER%\monthlynote_temp.md"
echo フォルダとファイルの作成が完了しました。
pause
2. Obsidianのインストール・Vault登録
公式ページやwinget、brewなどからObsidianをインストールしてください。
- 公式ページ: Obsidian - Sharpen your thinking
- winget:
winget install -e --accept-package-agreements --accept-source-agreements --id Obsidian.Obsidian - brew:
brew install --cask obsidian
インストールできたら起動して、最初の画面でOpen folder as vaultもしくは保管庫としてフォルダを開くをクリック→さっき作ったobsidian_notesフォルダを選択すればVault登録が完了します。
3. コミュニティプラグインのインストール
次のコミュニティプラグインを一つずつインストールしてください。
- Omnisearch - 検索機能強化
- 2Hop Links Plus - リンクの可視化
- Calendar - カレンダー表示
- Periodic Notes - 日報・週報・月報の作成
- Templater - テンプレート機能
コミュニティプラグインのインストール・有効化方法
- 設定を開く(
ctrl + ,) - オプションの
コミュニティプラグインをクリック - 上から2番目のコミュニティプラグインの
閲覧をクリック -
プラグインを検索に上で挙げたインストールするコミュニティプラグインをコピペ -
インストール→有効化
4. トピックごとのメモの作成環境
気になるトピックについてメモりたいときに、あるテンプレートに基づく空のメモを特定のフォルダで素早く生成できるようにします。
メモはすべてNotesフォルダに保存されます。こうもり問題 - Wikipediaを避けるため、基本方針は「フォルダをなるべく作らずタグで分類」としNotesフォルダ内で階層分けはしません。検索は後述するOmnisearchで行います。
まず先に作ったuniquenote.mdをメモアプリで開いてください(Obsidian以外なら何でもOK)。
開けたら以下の内容をコピペしてsaveしてください。
---
title:
aliases:
uid: "{{date:YYYYMMDDHHmmss}}"
created: "{{date:YYYY-MM-DD HH:mm:ss}}"
updated: "{{date:YYYY-MM-DD HH:mm:ss}}"
tags:
---
これはYAMLフロントマターと呼ばれるもので、文書にメタ的な情報を書き込むのに使います(後述)。
次にObsidianを開き、設定→コアプラグイン→ユニークノートクリエイター(下の方)をONにしてください。
そしたら設定左のコアプラグインの欄にユニークノートクリエイターが表示されるので、ユニークノートクリエイターを選択し、設定を以下のように変更してください。
- 新規ファイルの場所:
Notes - テンプレートファイルの場所:
template/uniquenote - ユニークなプレフィックスのフォーマット:
YYYYMMDDHHmmss
最後に設定→ホットキー→検索窓でユニークと入力→新規ユニークノートの作成のホットキーをお好みで変更してください(私はuniqueのuで覚えています)。
これで設定を閉じた画面で登録したホットキーを押すことで、フロントマターのついたメモが立ち上がりますので、メモりたいことを書き殴ってください(タイトルは作成時にわかりやすく書き直してください)。
aliasesとtagsを使って検索性UP
フロントマターに情報を書き足すことで、タイトルだけではヒットしないファイルを検索でヒットさせるようにすることができます。
ファイル検索はAlt + sでOmnisearchの検索窓が立ち上がるので、そこに検索ワードを入れて開きたいファイルを選んでください(ctrl + Enterでタブで開く、Alt + Enterでリンク貼り付け)。
5. 日報・週報・月報の作成環境
まず設定→コアプラグイン→デイリーノートをOFFにしてください(Periodic Notesと干渉するので)。
次に先に作ったdailynote_temp.mdをメモアプリで開いてください(Obsidian以外なら何でもOK)。
開けたら以下の内容をコピペしてsaveしてください。
---
aliases:
- "<% moment(tp.file.title).format('MMDD') %>"
- "<% moment(tp.file.title).format('YYYYMMDD') %>"
tags:
- "daily"
- "<% moment(tp.file.title).format('YYYY') %>"
- "<% moment(tp.file.title).format('YYYY-MM') %>"
---
#### << [[<% moment(tp.file.title).add(-1, 'd').format('YYYY-MM-DD') %>|Yesterday]] | [[<% moment(tp.file.title).add(-1, 'y').format('YYYY-MM-DD') %>|Last year]] | [[<% moment(tp.file.title).add(1, 'd').format('YYYY-MM-DD') %>|Tomorrow]] >>
今年の残り日数:<% moment(`${moment(tp.file.title).endOf('year')}`).diff(tp.file.title, "days") %>日
-----------------------------------
## Diary:<% moment(tp.file.title).format("YYYY-MM-DD (ddd)") %>
-
## Memo
-
weeklynote_temp.md、monthlynote_temp.mdについても同様にコピペ・saveしてください。
---
tags:
- "weekly"
- "<% tp.file.title %>"
---
#### << [[<% moment(tp.file.title).add(-1, 'W').format('YYYY-[W]WW') %>|Last week]] | [[<% moment(tp.file.title).add(1, 'W').format('YYYY-[W]WW') %>|Next week]] >>
今年の残り週数:<% moment(`${moment(tp.file.title).endOf('year')}`).diff(tp.file.title, "w") %>週
## 週次レビューチェックリスト
- [ ] トリガーリストを見ながら気になっていることを殴り書き
- [ ] 日記を読みながら今週の発見を箇条書きする
- [ ] 来週の目標を箇条書きする
- [ ] 来週の目標をタスク化してcalendarに入れる
- [ ] 来週のスケジュール・天気確認
## 気になっていること・悩み
-
## 今週の発見
-
## 来週の目標
-
## 一週間のメモ
![[<% tp.date.weekday("YYYY-MM-DD", 0, tp.file.title, "YYYY-[W]ww") %>#Memo]]
![[<% tp.date.weekday("YYYY-MM-DD", 1, tp.file.title, "YYYY-[W]ww") %>#Memo]]
![[<% tp.date.weekday("YYYY-MM-DD", 2, tp.file.title, "YYYY-[W]ww") %>#Memo]]
![[<% tp.date.weekday("YYYY-MM-DD", 3, tp.file.title, "YYYY-[W]ww") %>#Memo]]
![[<% tp.date.weekday("YYYY-MM-DD", 4, tp.file.title, "YYYY-[W]ww") %>#Memo]]
![[<% tp.date.weekday("YYYY-MM-DD", 5, tp.file.title, "YYYY-[W]ww") %>#Memo]]
![[<% tp.date.weekday("YYYY-MM-DD", 6, tp.file.title, "YYYY-[W]ww") %>#Memo]]
## 一週間のタスク
![[<% tp.date.weekday("YYYY-MM-DD", 0, tp.file.title, "YYYY-[W]ww") %>#Diary:<% tp.date.weekday("YYYY-MM-DD (dd)", 0, tp.file.title, "YYYY-[W]ww") %>]]
![[<% tp.date.weekday("YYYY-MM-DD", 1, tp.file.title, "YYYY-[W]ww") %>#Diary:<% tp.date.weekday("YYYY-MM-DD (dd)", 1, tp.file.title, "YYYY-[W]ww") %>]]
![[<% tp.date.weekday("YYYY-MM-DD", 2, tp.file.title, "YYYY-[W]ww") %>#Diary:<% tp.date.weekday("YYYY-MM-DD (dd)", 2, tp.file.title, "YYYY-[W]ww") %>]]
![[<% tp.date.weekday("YYYY-MM-DD", 3, tp.file.title, "YYYY-[W]ww") %>#Diary:<% tp.date.weekday("YYYY-MM-DD (dd)", 3, tp.file.title, "YYYY-[W]ww") %>]]
![[<% tp.date.weekday("YYYY-MM-DD", 4, tp.file.title, "YYYY-[W]ww") %>#Diary:<% tp.date.weekday("YYYY-MM-DD (dd)", 4, tp.file.title, "YYYY-[W]ww") %>]]
![[<% tp.date.weekday("YYYY-MM-DD", 5, tp.file.title, "YYYY-[W]ww") %>#Diary:<% tp.date.weekday("YYYY-MM-DD (dd)", 5, tp.file.title, "YYYY-[W]ww") %>]]
![[<% tp.date.weekday("YYYY-MM-DD", 6, tp.file.title, "YYYY-[W]ww") %>#Diary:<% tp.date.weekday("YYYY-MM-DD (dd)", 6, tp.file.title, "YYYY-[W]ww") %>]]
---
tags:
- "monthly"
- "<% tp.date.now("YYYY-MM") %>"
---
#### << [[<% tp.date.now("YYYY-MM", "P-1M")%>]] | [[<% tp.date.now("YYYY-MM", "P1M") %>]] >>
<%*
let yearMonth = tp.date.now("YYYY-MM");
let daysInMonth = moment(yearMonth, "YYYY-MM").daysInMonth();
let output = "";
for (let day = 1; day <= daysInMonth; day++) {
let dayStr = String(day).padStart(2, "0"); // 01, 02, ..., 31
let fullDate = `${yearMonth}-${dayStr}`; // YYYY-MM-DD
let dayOfWeek = moment(fullDate).format("dd"); // 曜日を取得(例: "月", "火")
output += `![[${fullDate}#Diary:${fullDate} (${dayOfWeek})]]\n`;
}
tR += output;
%>
次に設定→Templaterを開き、以下を設定してください:
-
Template folder locationにtemplateを記載 -
Trigger Templater on new file creationをON
次に設定→Periodic Notesを開き、以下を設定してください:
-
Daily Notes
- Daily Note Template:
template/templater/dailynote_temp.md - Note Folder:
diary/daily
- Daily Note Template:
-
Weekly Notes
- Weekly Note Template:
template/templater/weeklynote_temp.md - Note Folder:
diary/weekly
- Weekly Note Template:
-
Monthly Notes
- Monthly Note Template:
template/templater/monthlynote_temp.md - Note Folder:
diary/monthly
- Monthly Note Template:
最後に設定→ホットキーを開き、以下を設定してください:
-
Periodic Notes: Open daily note:Alt + T -
Periodic Notes: Open weekly note:Alt + W -
Periodic Notes: Open monthly note:Alt + M
使い方
Open daily noteのホットキーを押すか、Calendar上の好きな日付をクリックすれば、テンプレートが張り付いた状態で立ち上がります。
間違えて作ってしまった場合はファイルタブ右クリック→ファイルを削除で削除できます。
Calendarで未来の日付をクリック→予定をメモっておくみたいな使い方をします。
カスタマイズ
フォントの変更
初期フォントが残念なので、お好きなものに変えてください。
Omnisearchの活用
Omnisearchではタイトル表示させるワードをフロントマターのプロパティから選べるようになったので、ZettelkastenでタイトルをUIDで運用したい場合(参考: Zettelkastenに適したノートの保存フォーマットについてまとめ | jMatsuzaki)にも便利です(日本語タイトルだと不安定だけど)。
画像の管理
画像の管理は以下の2つの方法があります:
- 添付ファイルフォルダを作りそこへのリンクを貼る方法
- Gyazoなどのクラウド上に置いておく方法
他の端末と同期したいなら後者の方法が容量を食わなくておすすめです。
まとめ
素敵なObsidianライフを🖖。













