模板語法

Aino LifeOS 在建立週期筆記和主題筆記時,會先渲染模板裡的變數,再生成最終的 Markdown 檔案。模板語法不依賴 Templater,直接寫在你的模板檔案中即可。

在應用裡從哪裡編輯

  • Aino Desktop:開啟日記或週記後,點選頂部工具欄的 編輯模版;或者進入 設定 → 週期筆記,在週期筆記和主題筆記裡分別編輯模板。
  • Obsidian:直接編輯當前 Vault 裡的模板檔案。週期模板通常在 0. 週期筆記/Templates/,主題模板通常是專案、領域、資原始檔夾裡的 Template.md
  • 預覽方式:Aino Desktop 的模板編輯器會顯示常用變數示例和預覽結果,適合先驗證再儲存。

基礎變數

這些變數可以放在週期筆記模板和主題筆記模板裡:

變數說明
{{date}}當前筆記日期,格式為 YYYY-MM-DD
{{date:FORMAT}}使用 Day.js 格式化當前筆記日期,例如 {{date:YYYY-MM-DD dddd}}
{{date+N:FORMAT}} / {{date-N:FORMAT}}當前筆記日期前後偏移 N 天
{{monday:FORMAT}} ... {{sunday:FORMAT}}當前周內指定星期的日期,適合在週記裡引用每天的日記
{{time}}當前時間,格式為 HH:mm
{{time:FORMAT}}使用 Day.js 格式化當前時間
{{title}} / {{filename}}新建筆記的檔名,不含 .md
{{year}} / {{month}} / {{day}}年、月、日
{{week}} / {{weekYear}}周序號、周所屬年份
{{quarter}}季度,例如 Q1
{{periodType}}週期型別:DailyWeeklyMonthlyQuarterlyYearly
{{tags}}建立主題筆記時傳入的主題標籤,不含開頭的 #

周內日期變數

在週記模板裡,可以用 {{monday:FORMAT}}{{sunday:FORMAT}} 引用當前周的每一天。中文環境預設按週一到週日計算;如果你在設定中修改了周起始日,會按設定計算。

例如,日記檔名是 YYYY-MM-DD 時:

![[{{monday:YYYY-MM-DD}}]]
![[{{tuesday:YYYY-MM-DD}}]]
![[{{wednesday:YYYY-MM-DD}}]]
![[{{thursday:YYYY-MM-DD}}]]
![[{{friday:YYYY-MM-DD}}]]
![[{{saturday:YYYY-MM-DD}}]]
![[{{sunday:YYYY-MM-DD}}]]

如果你的日記檔名是 YYYYMMDD dddd,也可以寫成:

![[{{sunday:YYYYMMDD dddd}}]]

快照變數

快照變數會生成對應主題資料夾下索引檔案的編號列表:

{{snapshot:Project}}
{{snapshot:Area}}
{{snapshot:Resource}}
{{snapshot:Archive}}
{{snapshot:Theme}}

例如,{{snapshot:Project}} 會掃描專案資料夾,找到每個專案資料夾中的索引檔案,然後生成:

1. [[1. 專案/專案 A/專案 A|專案 A]]
2. [[1. 專案/專案 B/專案 B|專案 B]]

如果當前 Vault 使用 *.README.md 索引模式,Aino LifeOS 會按當前設定尋找索引檔案。

條件塊

可以按工作日 / 週末切換模板內容:

{{if weekday}}

## 工作日計劃

- [ ] 處理今日重點任務
      {{else}}

## 週末回顧

- [ ] 做一次輕量復盤
      {{endif}}

weekday 指週一到週五。週六、週日會使用 {{else}} 後的內容;沒有 {{else}} 時,週末會輸出空內容。

週期筆記示例

## 專案列表

%%專案的今日快照%%
{{snapshot:Project}}

## 日常記錄

%%你的記錄%%

## 明日提醒

{{date+1:YYYY-MM-DD}}

主題筆記示例

建立主題筆記時,{{tags}} 會被替換成當前主題標籤。寫成正文標籤時,通常要自己加上 #

---
tags:
  - { { tags } }
---

%%設定專案截止日期,及其結果描述%%

- [ ] #{{tags}} 📅 {{date+7:YYYY-MM-DD}}
- 結果描述

## 任務

```LifeOS
TaskListByTag
```

與舊 Templater 語法的區別

Aino LifeOS 使用內建模板語法。舊的 Templater 佔位符應該替換為 {{snapshot:Project}}{{tags}}{{date+7:YYYY-MM-DD}} 等變數。