日付を自動入力
Obsidianのテンプレートで日付を自動入力するには、主に以下の方法があります。
- Coreプラグイン「Templates」を使用する
- Dataviewプラグインを使用する
- Templaterプラグインを使用する
それぞれ詳しく見ていきましょう。
1. Coreプラグイン「Templates」を使用する
Obsidianに標準で搭載されているテンプレート機能です。シンプルな日付の挿入にはこれで十分です。
設定方法:
- **「設定」**を開きます。
- サイドバーの**「コアプラグイン」をクリックし、「Templates」**をオンにします。
- 「Templates」の設定項目で、**「Template folder location」**にテンプレートファイルを保存するフォルダを指定します。例:
Templates
テンプレートファイルの作成:
指定したテンプレートフォルダ内に新しいMarkdownファイルを作成します。例えば、Daily Note Template.mdというファイルを作成し、以下の内容を記述します。
# 日次メモ - {{DATE}}
## タスク
- [ ]
## 振り返り
日付のフォーマット変更:
「Templates」プラグインの設定で、**「Date format」と「Time format」**を変更することで、日付と時刻の表示形式を調整できます。例えば、YYYY-MM-DD、MMMM DD, YYYY、YYYY/MM/DD ddd (曜日も表示) など。
使用方法:
- 新しいノートを作成します。
- コマンドパレット(
Ctrl/Cmd + P)を開き、**「Templates: Insert template」**を選択します。 - 挿入したいテンプレートファイルを選択すると、
{{DATE}}の部分が自動的に現在の日付に置き換わって挿入されます。
2. Dataviewプラグインを使用する (Advanced)
Dataviewプラグインは、Obsidianのノートから情報を抽出して表示するための強力なツールですが、テンプレートに動的な情報を埋め込むのにも使えます。ただし、テンプレートの生成時に動的に日付を挿入するというよりは、ノート内に動的な日付表示を埋め込む用途に適しています。
設定方法:
- **「設定」**を開きます。
- サイドバーの**「コミュニティプラグイン」をクリックし、「安全モードをオフにする」**をオンにします。
- **「Browse」をクリックし、検索バーで「Dataview」**と入力してインストールします。
- インストール後、**「Enable」**をクリックして有効にします。
テンプレートファイルの作成:
例えば、テンプレートファイルに以下のように記述することで、ファイルが作成された日付を表示できます。これはDataviewクエリとして機能します。
# 日次メモ
作成日: `= this.file.cday`
更新日: `= this.file.mday`
## タスク
this.file.cdayはファイル作成日を、this.file.mdayは最終更新日を表示します。これはテンプレートを挿入した時点ではなく、そのノートが閲覧された時に動的に評価されます。
3. Templaterプラグインを使用する (Recommended for Advanced Use)
Templaterは、Obsidianのコアテンプレート機能を大幅に拡張するコミュニティプラグインです。JavaScriptの機能を使って、より複雑な日付フォーマットや計算、他のノートからの情報取得などが可能になります。日付の自動入力に関しては、最も柔軟で強力な選択肢です。
設定方法:
- **「設定」**を開きます。
- サイドバーの**「コミュニティプラグイン」をクリックし、「安全モードをオフにする」**をオンにします。
- **「Browse」をクリックし、検索バーで「Templater」**と入力してインストールします。
- インストール後、**「Enable」**をクリックして有効にします。
- 「Templater」の設定で、**「Template folder location」**にテンプレートファイルを保存するフォルダを指定します。
テンプレートファイルの作成:
Templaterでは、<% ... %>構文を使ってJavaScriptコードを記述します。
基本的な日付の挿入:
# 日次メモ - <% tp.date.now("YYYY-MM-DD") %>
## タスク
- [ ]
## 振り返り
tp.date.now("YYYY-MM-DD")は、テンプレート挿入時の現在の日付を指定されたフォーマットで挿入します。
様々な日付フォーマットの例:
<% tp.date.now("YYYY年MM月DD日 (dddd)") %>→2023年10月27日 (金曜日)<% tp.date.now("HH:mm") %>→14:30(現在の時刻)<% tp.date.now("YYYY-MM-DD", -1, tp.file.title, "YYYY-MM-DD") %>→ 前日の日付。これは、ファイル名から日付を解析し、そこから-1日する例です。
高度な例: 昨日の日付と明日の日付:
# 日次メモ - <% tp.date.now("YYYY-MM-DD") %>
前日: [[<% tp.date.yesterday("YYYY-MM-DD") %>]]
翌日: [[<% tp.date.tomorrow("YYYY-MM-DD") %>]]
## タスク
- [ ]
## 振り返り
使用方法:
Templaterを有効にすると、コアプラグインの「Templates」は無効にするか、両方を使い分けるかになりますが、Templaterをメインで使う場合は「Templates」をオフにすると良いでしょう。
- 新しいノートを作成します。
- コマンドパレット(
Ctrl/Cmd + P)を開き、**「Templater: Insert template」**を選択します(または、右クリックメニューから「Templater」を選択)。 - 挿入したいテンプレートファイルを選択すると、
<% ... %>の部分が評価されて挿入されます。
Templaterは非常に強力で、ファイル名から日付を取得してテンプレートに反映させたり、起動時に特定のテンプレートを自動挿入したりする設定も可能です。
どの方法を選ぶべきか?
- 簡単な日付の挿入だけであれば: コアプラグインの「Templates」で十分です。設定もシンプルです。
- より複雑な日付フォーマット、昨日・明日へのリンク、時刻の挿入など、柔軟性を求めるなら: Templaterプラグインが断然おすすめです。学習コストは少し上がりますが、できることが格段に増えます。
- ノートの作成日時や更新日時をその場で表示したい場合: Dataviewプラグインも選択肢になりますが、主に情報表示用途です。
まずはコアプラグインの「Templates」から試してみて、物足りなくなったら「Templater」へ移行するのが良いでしょう。