跳至主要内容

[Obsidian] Templater Plugin

Templater 是 Obsidian 中功能強大的模板系統插件,提供了比內建模板更進階的功能,支援動態內容生成和 JavaScript 程式碼執行。

功能特色

📝 核心功能

  • 動態模板: 支援變數、函數和條件判斷
  • JavaScript 支援: 可以在模板中執行 JavaScript 程式碼
  • 系統整合: 讀取系統資訊如日期、時間、檔案資訊等
  • 互動式輸入: 支援使用者輸入和選擇

🔄 自動化功能

  • 自動觸發: 在建立檔案時自動執行模板
  • 热鍵綁定: 可以為模板設定快速鍵
  • 指令面板: 透過指令面板快速執行模板
  • 批次處理: 可以同時處理多個檔案

🔗 整合能力

  • 外部檔案: 可以讀取和引用外部檔案
  • 網路資源: 支援從網路獲取資料
  • 其他插件: 與其他 Obsidian 插件的整合

安裝與設定

1. 插件安裝

  1. 開啟 Obsidian 設定
  2. 點擊「第三方插件」
  3. 關閉「安全模式」
  4. 點擊「瀏覽」搜尋 "Templater"
  5. 安裝並啟用插件

2. 基本配置

  • 模板資料夾: 設定存放模板的資料夾
  • 自動觸發: 設定哪些資料夾啟用自動模板
  • 程式碼執行: 啟用 JavaScript 程式碼執行功能

基本語法

變數語法

// 日期變數
{{date}}
{{date:YYYY-MM-DD}}
{{time}}

// 檔案變數
{{title}}
{{folder}}

// 使用者輸入
{{tp.file.cursor}}
{{tp.system.prompt("Enter title")}}

常用函數

// 檔案操作
<% tp.file.title %>
<% tp.file.creation_date() %>
<% tp.file.last_modified_date() %>

// 系統資訊
<% tp.date.now() %>
<% tp.date.now("YYYY-MM-DD") %>
<% tp.date.weekday() %>

// 使用者互動
<% tp.system.prompt("Question") %>
<% tp.system.suggester(["A", "B"], ["Option A", "Option B"]) %>

實用模板範例

日記模板

---
title: <% tp.date.now("YYYY-MM-DD") %>
date: <% tp.date.now() %>
tags: [daily]
---

# <% tp.date.now("YYYY年MM月DD日") %>

## 今日任務
- [ ]

## 今日筆記


## 明日計畫

會議紀錄模板

---
title: <% tp.system.prompt("會議主題") %>
date: <% tp.date.now() %>
type: meeting
attendees: <% tp.system.prompt("參與者") %>
---

# <% tp.system.prompt("會議主題") %>

**日期**: <% tp.date.now("YYYY-MM-DD HH:mm") %>
**參與者**: <% tp.system.prompt("參與者") %>

## 議程
1.

## 討論要點


## 行動項目
- [ ]

## 下次會議

專案模板

---
title: <% tp.system.prompt("專案名稱") %>
type: project
status: planning
start_date: <% tp.date.now("YYYY-MM-DD") %>
tags: [project]
---

# <% tp.system.prompt("專案名稱") %>

## 專案概述
**目標**:
**範圍**:
**成功標準**:

## 利益關係人


## 時程規劃


## 風險評估


## 資源需求

進階技巧

JavaScript 程式碼

<%*
// 獲取上週的日期
const lastWeek = tp.date.now("YYYY-MM-DD", -7);

// 建立檔案連結
const fileName = tp.system.prompt("檔案名稱");
const link = `[[${fileName}]]`;

// 輸出結果
tR += `相關文件: ${link}`;
%>

剪貼簿處理

參考 Paste clipboard into list of wikilinks 的討論,可以將剪貼簿內容轉換為 wikilink 清單。

模板嵌套

<%* 
// 引用其他模板
const headerTemplate = tp.file.include("[[Header Template]]");
tR += headerTemplate;
%>

使用場景

📋 日常管理

  • 日記系統: 自動建立日記檔案
  • 週報月報: 定期報告模板
  • 任務清單: 結構化的任務管理

📚 學習筆記

  • 課程筆記: 統一的筆記格式
  • 讀書筆記: 書籍閱讀模板
  • 研究資料: 學術研究整理

💼 工作流程

  • 會議紀錄: 標準化會議文件
  • 專案管理: 專案文件結構
  • 報告撰寫: 工作報告模板

模板資源

官方資源

社群模板

相關插件