- 楼主博主
效果:每天点一下,自动生成带 日期、农历、时间、位置、天气、温度、每日一言 的日记,并套好一套「记事 + 对账 + 新知 + 心情 + 明天」的六栏模板。适用 Obsidian 桌面版,需联网。
一、先装上两个插件
- 打开 Obsidian → 设置 → 第三方插件 → 关闭「安全模式」。
- 浏览 → 搜索并安装 Templater(作者 SilentVoid),装完启用。
核心「日记」插件是 Obsidian 自带的,不用装,待会直接配置。
二、建好目录结构
在库根目录建下面两级文件夹(名字照抄,后面配置要对得上):
你的库/ ├── 01-每日一志/ ← 日记成品都放这 ├── 06-Templater/ ← 模板仓库 │ └── Daily.md ← 日记模板 └── 07-Scripts/ ← 脚本文件夹 └── weather.js ← 天气脚本三、配置核心「日记」插件
设置 → 日记(Daily notes),填三项:
设置项 填什么 新建文件位置 留空 日期格式 01-每日一志/YYYY/YYYY-MM/YYYY-MM-DD -ddd模板文件位置 06-Templater/DailyYYYY/YYYY-MM自动建「年 / 月」两级子文件夹;ddd是星期,文件名变成2026-10-15 -周四。这条插件只负责建文件 + 塞模板,真正的「填数据」是下一步 Templater 干的。四、配置 Templater(最容易出错的一步)
设置 → Templater,逐项设置:
设置项 填什么 说明 Template folder location 06-Templater模板仓库 User Scripts folder 07-Scripts文件夹里每个 .js 变成 tp.user.文件名函数Trigger on new file creation Folder templates 新建文件时自动渲染模板 Command timeout 15(秒) 脚本请求 4 个接口,5 秒偏紧 在 Folder Templates 区域点「Add new」,填:
folder = 01-每日一志、template = 06-Templater/Daily.md。⚠️ 坑:Templater 大版本升级后,「Trigger on new file creation」会被重置成
none。症状是新建日记后满屏模板代码。以后升级完插件,先来这里看一眼开关还在不在。五、放天气脚本 weather.js
打开
07-Scripts/weather.js,整文件替换为:async function WeatherScript() { // ⚠️ 把下面三个 key 换成你自己在对应平台申请的 const tencentKey = '你的腾讯位置服务KEY'; const gaodeKey = '你的高德开放平台KEY'; const juheKey = '你的聚合数据KEY'; // 1. IP 定位(腾讯位置服务)→ 拿到行政区划码 adcode const ipResp = await fetch('https://apis.map.qq.com/ws/location/v1/ip?key=' + tencentKey); const ipData = await ipResp.json(); const adcode = ipData.result.ad_info.adcode; // 2. 天气查询(高德开放平台,extensions=all 取全天) const weatherResp = await fetch('https://restapi.amap.com/v3/weather/weatherInfo?key=' + gaodeKey + '&city=' + adcode + '&extensions=all'); const weatherData = await weatherResp.json(); const cast = weatherData.forecasts[0].casts[0]; // 3. 农历查询(聚合数据万年历) const now = new Date(); const dateStr = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate(); const lunarResp = await fetch('https://v.juhe.cn/calendar/day?date=' + dateStr + '&key=' + juheKey); const lunarData = await lunarResp.json(); const lunar = lunarData.result.data; return { 位置: ipData.result.ad_info.province + '-' + ipData.result.ad_info.city + '-' + ipData.result.ad_info.district, 天气: '🌅' + cast.dayweather + ' / 🌃' + cast.nightweather, 温度: '🌅' + cast.daytemp_float + '℃ / 🌃' + cast.nighttemp_float + '℃', 农历: lunar.lunarYear + '年' + lunar.lunar }; } module.exports = WeatherScript;服务 申请地址 怎么建 key 腾讯位置服务 lbs.qq.com 控制台 → 我的应用 → 创建应用 → 添加 key → 勾选 WebServiceAPI 高德开放平台 lbs.amap.com 应用管理 → 创建应用 → 添加 key → 服务平台选 Web 服务 聚合数据 juhe.cn 实名认证后 → 我的 API → 申请「万年历 / 日历」→ 拿 key 把三个 key 分别贴进
weather.js对应变量,保存。六、写日记模板 Daily.md
打开
06-Templater/Daily.md,整文件替换为:<%* const w = await tp.user.weather(); %>🌻日期🌻 : <% tp.file.creation_date("YYYY-MM-DD dddd") %> 🧧农历🧧 : <% w.农历 %> ⌚️时间⌚️ : <% tp.file.creation_date("HH:mm:ss") %> 🌍位置🌍 : <% w.位置 %> ☁️天气☁️ : <% w.天气 %> 🌡️温度🌡️:<% w.温度 %> *** <%* let 一言 = '' let 来源 = '' let 作者 = '' await fetch('https://v1.hitokoto.cn/?c=d&c=h&c=i&c=j&c=k&c=f&c=g') .then(response => response.json()) .then(data => { 一言 = data.hitokoto 来源 = data.from 作者 = data.from_who === null ? '佚名' : data.from_who }) -%> >[!note] 一言 ><font color="#ABCD00" size=4.8><% 一言 %> —— 《<% 来源 %>》 · <% 作者 %></font> *** # 📋 一句话总结今天 * *** # 📝 记事 · 一事一条,只记发生了什么 🌅 **早晨:** 🌤️ **上午:** 🌞 **中午:** 🌆 **下午:** 🌙 **晚上:** *** # 🔁 今日对账 · 每天至少一行,不许空 * **今天哪件事想回看**: * **我怎么处理的 / 现在看**: * **下次第一步**(一个动作,别写"我要注意"): *** # 💡 今日新知 · 积玉碎金 * *** # 🌡️ 心情 · 感受与碎碎念 * *** # ➡️ 明天 * ***七、测试
- 命令面板(Ctrl/Cmd + P)→ 搜「打开今日日记」→ 回车。
- 等 3~5 秒(脚本串行请求几个接口,正常)。
- 看到日期、农历、位置、天气、温度、一言都填好,六栏也在,就成功了。
某篇日记之前建坏了(满屏代码)?打开它 → 命令面板 → Templater: Replace templates in the active file 补渲染即可。
八、日常怎么填这套模板
栏 记什么 能空吗 📋 一句话 今天一句话锚点,允许写「平常一天」 必填 📝 记事 只记事实,按五个时段分段 可空 🔁 今日对账 挑一件事:我怎么处理的 → 下次怎么改 不许空 💡 新知 听到 / 看到 / 读到的,出处用 ——标可空 🌡️ 心情 感受,只写不评判 可空 ➡️ 明天 明天计划,普通列表,不打勾 可空 对账栏的兜底:平淡日子真想不出要改的,就写「今天没什么要改的」——这是判断不是感受。这栏的身份证是「下次第一步」,得从今天某件事长出来的改进,不是明天的待办(待办去「明天」栏写)。
九、常见问题排查
症状 原因 解决 新建日记全是 <% %>代码Templater 触发被关(升级重置) Trigger 开成 Folder templates;已建的用 Replace templates 补 报 Timeout超时太短 Command timeout 调到 15 秒 农历 / 天气报错 API key 过期或超额 接口 URL 带 key 粘浏览器看 status,去平台换 key 位置不对 IP 定位受代理 / VPN 影响 关代理重试,或接受偶尔漂移 一言没出现 hitokoto 偶发抽风 重跑一次 Replace templates 命令 配置一次,之后每天点一下就完事。
收藏 1支持 1反对打赏
学习了
不错 支持下




