Contents
Template コアプラグインの有効化と基本設定
このセクションでは、まず Obsidian 本体に標準装備されている Templates(旧称 Template)コアプラグインを有効化し、テンプレートファイルを格納するフォルダを設定するまでの流れを解説します。
テンプレートは「同じ構造・項目が繰り返し必要になるノート」を瞬時に生成できるため、業務メモや学習記録の効率化に直結します。
1‑1. Core Plugins から Templates を有効化する手順
- 設定画面を開く
- デスクトップ:
Settings (歯車アイコン) → Core Plugins -
モバイル: 左サイドバー下部の「設定」→「Core Plugins」
-
Templates プラグインにチェック を入れるだけで有効化されます。プラグインがオンになると、コマンドパレット(
Ctrl/Cmd P)やツールバーに “Insert template” が表示されます。
ポイント:有効化後は必ず設定画面の「Templates」タブでフォルダ位置を指定しないとテンプレートが読み込まれません。
1‑2. テンプレート格納用フォルダの作成と設定
| 手順 | 操作内容 |
|---|---|
| ① | Vault の直下に Templates フォルダを作成(例: MyVault/Templates)。 |
| ② | Settings → Templates → Template folder location で先ほど作ったフォルダを選択。 |
| ③ | 任意の Markdown ファイルを Templates 内に作成し、雛形として保存する(例: Daily Note.md)。 |
これで「Insert template」コマンドから任意のノートへテンプレートが挿入できるようになります。
公式変数の使い方と安全なカスタマイズ例
Templates プラグインは {{date}}, {{time}}, {{title}} といったシンプルな置換変数を提供します。
本節ではそれぞれの意味と、誤情報が出やすい「条件分岐」や「曜日取得」の実装方法について正しい手順を示します。
2‑1. 基本変数の挙動
| 変数 | 説明 | 設定で変更できる項目 |
|---|---|---|
{{date}} |
Settings → Templates の Date format(デフォルトは YYYY-MM-DD)に従って展開。 |
|
{{time}} |
同上の Time format(デフォルトは HH:mm)。 |
|
{{title}} |
新規作成時のノートタイトルそのまま。 |
例:シンプルなデイリーノート雛形
|
1 2 3 4 5 |
# {{date}} ({{time}}) ## 今日のタスク - [ ] ## メモ |
このテンプレートは「Insert template」実行時に自動で日付・時間が埋め込まれます。
2‑2. 条件分岐や曜日取得は Templater で実装する
Templates コアプラグイン単体では {{#if}} 形式の条件分岐はサポートしていません。
代わりに、Community プラグイン Templater の JavaScript ベースのブロックを利用します。
正しい曜日判定例(Templater)
|
1 2 3 4 5 6 7 8 9 10 11 |
<%* const day = tp.date.now("dddd"); // 「Monday」〜「Sunday」の文字列が取得できる if (day === "Saturday" || day === "Sunday") { tR += "## 週末の振り返り\n"; } else if (day === "Monday") { tR += "## 月曜特別タスク\n"; } else { tR += "## 平日のタスク\n"; } %> |
tp.date.now("dddd")は Templater が提供する日付ヘルパーです。- 条件分岐は
<%* … %>ブロック内で普通の JavaScript を書く形になります。
注意:上記コードは Templater が有効化されていることが前提です。Core Templates だけでは実行できません。
Templater と QuickAdd の導入・連携手順
ここからは、より高度な自動化を実現するための二大 Community プラグイン Templater と QuickAdd のセットアップと、代表的なスクリプト例をご紹介します。
「テンプレートだけでは足りない」ケースに備えて、正しいインストール手順とファイル配置場所を明示します。
3‑1. プラグインのインストール
| 手順 | 操作 |
|---|---|
| ① | Settings → Community plugins → Safe mode をオフにする。 |
| ② | 「Browse」タブで Templater と QuickAdd を検索し、個別に Install → Enable する。 |
| ③ | Templater の設定画面で Template folder location を先ほどの Templates に合わせる(必須)。 |
3‑2. スクリプトファイルの配置場所
- Templater ユーザースクリプトは Vault 直下の
.obsidian/plugins/templater/user_scripts/フォルダに置きます。 - QuickAdd のカスタムコマンドは
Settings → QuickAdd → Commandsから作成し、必要なら同フォルダ内にスクリプトファイル(.js)を参照させます。
Tip:両プラグインのロード順が問題になることがあります。
「Settings → Community plugins → Plugin ordering」から Templater を QuickAdd の上位に配置すると、tp.argsなどの変数が正しく受け渡されます。
3‑3. Templater で現在の日付・曜日を日本語表記に出力する例
|
1 2 3 4 5 |
<%* const now = tp.date.now("YYYY-MM-DD (dddd)", true); // 第2引数 true → 日本時間(UTC+9)を使用 tR += `# ${now}\n`; %> |
- 出力例:
# 2026-07-02 (Friday)(日本語ロケール設定が有効な場合は「金曜日」になる)。 tp.date.nowの第2引数でタイムゾーンを明示できます。
3‑4. QuickAdd と Templater を組み合わせたタスク入力フロー
(1) QuickAdd 側の設定(Command 作成)
| 項目 | 設定値 |
|---|---|
| Command name | Add Task with Priority |
| Template file | Templates/Task.md |
| Prompt | 「優先度 (A/B/C) を入力」 |
(2) Templates/Task.md の内容
|
1 2 3 |
- [ ] {{value}} <!-- ユーザーがプロンプトで入力したテキスト --> - Priority:: <% tp.user.getPriority(tp.args[0]) %> |
(3) Templater ユーザースクリプト getPriority.js
|
1 2 3 4 5 6 7 8 9 10 11 12 |
module.exports = { /** * 入力された文字列(A/B/C)を優先度ラベルに変換する * @param {string} input * @returns {string} */ getPriority: (input) => { const map = { A: "🟥 高", B: "🟧 中", C: "🟩 低" }; return map[(input || "").trim().toUpperCase()] ?? "未設定"; }, }; |
tp.args[0]は QuickAdd のプロンプトで取得した最初の引数です。- スクリプトは
.obsidian/plugins/templater/user_scripts/getPriority.jsに保存し、Templater の User Scripts 設定にパスを追加します。
この構成により、QuickAdd が表示するシンプルな入力ダイアログだけで「優先度付きタスク」を即座に生成できます。
シーン別テンプレート実践例
以下では、業務や学習の代表的なシーンごとに Template(基本変数)+Templater(ロジック)+QuickAdd(インタラクティブ入力)を組み合わせた具体的な雛形を提示します。各テンプレートは Templates フォルダ直下に保存し、必要に応じて QuickAdd のコマンドとして登録してください。
4‑1. デイリーノート
概要
日付・時間の自動挿入と、その日のタスクを QuickAdd 経由で追加できる構成です。
テンプレートファイル Daily Note.md
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<%* const now = tp.date.now("YYYY-MM-DD (dddd)", true); tR += `# ${now}\n`; %> ## 今日の目標 - [ ] ## タスクリスト <% await tp.user.quickAddTask() %> ## 振り返り - 成功点: - 改善点: |
必要なユーザースクリプト quickAddTask.js
|
1 2 3 4 5 |
module.exports = async (tp) => { // QuickAdd のカスタムコマンド "add-daily-task" を呼び出す例 await tp.quickAdd.run("add-daily-task"); }; |
4‑2. 会議議事録
概要
会議名・日付に加えて、参加者リストとタイムスタンプを自動生成します。
テンプレート Meeting Minutes.md
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# {{title}} - {{date}} ## 出席者 <%* const participants = await tp.system.prompt("出席者(カンマ区切り)"); tR += participants.split(",").map(p => `- ${p.trim()}`).join("\n"); %> ## アジェンダ 1. 2. ## 議事録 | 時間 | 内容 | |------|------| | <% tp.date.now("HH:mm") %> | | |
4‑3. プロジェクト計画書
概要
大項目(背景・成果物・制約条件)を自動で生成し、マイルストーンの日付は相対指定で算出します。
テンプレート Project Plan.md
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# {{title}} - 計画書 ## 概要 {{date}} ## 目標 - ## スコープ <%* const sections = ["背景", "成果物", "制約条件"]; sections.forEach(s => { tR += `### ${s}\n\n`; }); %> ## タイムライン | マイルストーン | 期限 | |----------------|------| | キックオフ | <% tp.date.now("YYYY-MM-DD", "+7d") %> | | 第一次レビュー | <% tp.date.now("YYYY-MM-DD", "+30d") %> | |
4‑4. タスク管理テンプレート
概要
タスク作成時に自動で作成日・期限入力プロンプトを付加し、関連プロジェクトへのリンクも生成します。
テンプレート Task.md
|
1 2 3 4 5 6 7 8 |
# タスク:{{title}} - [ ] {{value}} <!-- QuickAdd の入力 --> - 作成日:: <% tp.date.now("YYYY-MM-DD") %> - 期限:: <% await tp.user.selectDate() %> - 状態:: 未着手 - 関連プロジェクト:: [[<% tp.file.title %>]] |
必要なスクリプト selectDate.js
|
1 2 3 4 5 |
module.exports = async (tp) => { const dateStr = await tp.system.prompt("期限を YYYY-MM-DD で入力"); return dateStr || "未設定"; }; |
チーム共有とトラブルシューティングのベストプラクティス
テンプレートは個人だけでなくチーム全体に展開するケースが増えています。ここでは安全な Git 管理方法、よくあるエラーへの対処法、そして 2026 年版 UI(デスクトップ・モバイル)でのポイントをまとめます。
5‑1. Git リポジトリ化と Obsidian Sync の併用
| 手順 | 内容 |
|---|---|
| ① | Vault の Templates フォルダだけを対象に Git リポジトリを初期化(.gitignore に .obsidian/ を除外)。 |
| ② | チームメンバーは同一リポジトリをクローンし、Vault 直下の Templates と同期させる。 |
| ③ | プッシュ/プル前に必ず Obsidian Sync をオフにする(競合防止)。 |
| ④ | CI(GitHub Actions 等)で Markdown Lint とテンプレート構文チェックを走らせ、品質基準を自動的に検証。 |
5‑2. よくあるエラーと対策
| 症状 | 原因例 | 解決策 |
|---|---|---|
{{date}} が文字列のまま残る |
Template フォルダパスが設定と不一致 | Settings → Templates でフォルダ位置を再確認 |
<% %> ブロックがそのまま表示される |
Templater プラグインが無効、またはロード順が逆 | Templater を QuickAdd より上位に配置 |
| QuickAdd のコマンドが起動しない | テンプレートファイル名にスペースや特殊文字が含まれる | ファイル名は英数字・ハイフン/アンダースコアのみ推奨 |
tp.args[0] が undefined |
Prompt 設定で「入力項目数」や「引数名」を忘れている | QuickAdd の Command 設定画面で Argument 1 を必ず設定 |
5‑3. 2026 年版 UI のポイント(デスクトップ・モバイル)
- Desktop
- 左サイドバー下部に「Settings」→「Core Plugins」→「Templates」タブが統合。
-
「Template folder location」は
Settings → Templatesに表示され、即座に変更可能。 -
Mobile (iOS/Android)
- 長押しメニューから “Insert template” を選択できるほか、右上の「…」→「Command palette」でも利用可。
- QuickAdd のプロンプトは画面キーボードが遅延することがあるため、事前に候補リスト(例: A/B/C)を別ノートに用意しておくと操作性が向上します。
まとめ
- Templates コアプラグイン を有効化し、
Templatesフォルダを正しく設定すれば、基本的な雛形挿入は即完了。 - 標準変数
{{date}},{{time}},{{title}}は Settings → Templates で書式変更が可能だが、条件分岐や曜日判定は Templater の JavaScript ブロックを利用するのが正しい。 - Templater + QuickAdd を組み合わせれば、ユーザー入力プロンプト・スクリプト呼び出し・相対日付計算といった高度な自動化が実現できる。
- テンプレートは Git 管理 と Obsidian Sync の併用 でチーム全体に安全に配布可能。エラーはプラグインの有効状態・ロード順・ファイル名をチェックすれば多くは防げる。
- デスクトップ・モバイル共に UI が統一されつつあるため、設定項目やコマンド呼び出し方法が変わっても大きな混乱は起こりにくい。
このガイド通りに環境を整備すれば、Obsidian を業務・学習の「テンプレート駆動型ノートツール」として最大限活用できるでしょう。ぜひ自分のワークフローに合わせてカスタマイズし、生産性向上に役立ててください。