日付を自動入力

Page content

Obsidianのテンプレートで日付を自動入力するには、主に以下の方法があります。

  1. Coreプラグイン「Templates」を使用する
  2. Dataviewプラグインを使用する
  3. Templaterプラグインを使用する

それぞれ詳しく見ていきましょう。


1. Coreプラグイン「Templates」を使用する

Obsidianに標準で搭載されているテンプレート機能です。シンプルな日付の挿入にはこれで十分です。

設定方法:

  1. **「設定」**を開きます。
  2. サイドバーの**「コアプラグイン」をクリックし、「Templates」**をオンにします。
  3. 「Templates」の設定項目で、**「Template folder location」**にテンプレートファイルを保存するフォルダを指定します。例: Templates

テンプレートファイルの作成:

指定したテンプレートフォルダ内に新しいMarkdownファイルを作成します。例えば、Daily Note Template.mdというファイルを作成し、以下の内容を記述します。

# 日次メモ - {{DATE}}

## タスク
- [ ] 

## 振り返り

日付のフォーマット変更:

「Templates」プラグインの設定で、**「Date format」「Time format」**を変更することで、日付と時刻の表示形式を調整できます。例えば、YYYY-MM-DDMMMM DD, YYYYYYYY/MM/DD ddd (曜日も表示) など。

使用方法:

  1. 新しいノートを作成します。
  2. コマンドパレット(Ctrl/Cmd + P)を開き、**「Templates: Insert template」**を選択します。
  3. 挿入したいテンプレートファイルを選択すると、{{DATE}}の部分が自動的に現在の日付に置き換わって挿入されます。

2. Dataviewプラグインを使用する (Advanced)

Dataviewプラグインは、Obsidianのノートから情報を抽出して表示するための強力なツールですが、テンプレートに動的な情報を埋め込むのにも使えます。ただし、テンプレートの生成時に動的に日付を挿入するというよりは、ノート内に動的な日付表示を埋め込む用途に適しています。

設定方法:

  1. **「設定」**を開きます。
  2. サイドバーの**「コミュニティプラグイン」をクリックし、「安全モードをオフにする」**をオンにします。
  3. **「Browse」をクリックし、検索バーで「Dataview」**と入力してインストールします。
  4. インストール後、**「Enable」**をクリックして有効にします。

テンプレートファイルの作成:

例えば、テンプレートファイルに以下のように記述することで、ファイルが作成された日付を表示できます。これはDataviewクエリとして機能します。

# 日次メモ

作成日: `= this.file.cday`
更新日: `= this.file.mday`

## タスク

this.file.cdayはファイル作成日を、this.file.mdayは最終更新日を表示します。これはテンプレートを挿入した時点ではなく、そのノートが閲覧された時に動的に評価されます。


Templaterは、Obsidianのコアテンプレート機能を大幅に拡張するコミュニティプラグインです。JavaScriptの機能を使って、より複雑な日付フォーマットや計算、他のノートからの情報取得などが可能になります。日付の自動入力に関しては、最も柔軟で強力な選択肢です。

設定方法:

  1. **「設定」**を開きます。
  2. サイドバーの**「コミュニティプラグイン」をクリックし、「安全モードをオフにする」**をオンにします。
  3. **「Browse」をクリックし、検索バーで「Templater」**と入力してインストールします。
  4. インストール後、**「Enable」**をクリックして有効にします。
  5. 「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」をオフにすると良いでしょう。

  1. 新しいノートを作成します。
  2. コマンドパレット(Ctrl/Cmd + P)を開き、**「Templater: Insert template」**を選択します(または、右クリックメニューから「Templater」を選択)。
  3. 挿入したいテンプレートファイルを選択すると、<% ... %>の部分が評価されて挿入されます。

Templaterは非常に強力で、ファイル名から日付を取得してテンプレートに反映させたり、起動時に特定のテンプレートを自動挿入したりする設定も可能です。


どの方法を選ぶべきか?

  • 簡単な日付の挿入だけであれば: コアプラグインの「Templates」で十分です。設定もシンプルです。
  • より複雑な日付フォーマット、昨日・明日へのリンク、時刻の挿入など、柔軟性を求めるなら: Templaterプラグインが断然おすすめです。学習コストは少し上がりますが、できることが格段に増えます。
  • ノートの作成日時や更新日時をその場で表示したい場合: Dataviewプラグインも選択肢になりますが、主に情報表示用途です。

まずはコアプラグインの「Templates」から試してみて、物足りなくなったら「Templater」へ移行するのが良いでしょう。