模板语法

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}} 等变量。