Files
Obsidian/Extras/Template/Diary.md

2.9 KiB
Raw Permalink Blame History

atlas, completed, created, incomplete, modified, tags, title, total
atlas completed created incomplete modified tags title total
DailyNote 0 <% tp.date.now("YYYY-MM-DD HH:mm:ss") %> 3
DailyNote
<% tp.file.title %> 3

<%* /** 使用 Obsidian 的 requestUrl 绕过 CORS并且所有正则结果都做了空值保护 **/ const resp = await requestUrl ({ url: ' https://www.tianqi.com/yuexiuqu/ ', method: 'GET', // 可选:有些站会根据 UA 返回不同内容 headers: { 'user-agent': 'Mozilla/5.0 Obsidian-Templater' }, throw: false, // 出错时不要直接抛异常 contentType: null // 让它按文本处理 });

if (! resp || resp. status >= 400) { let 错误 = resp ? HTTP ${resp. status} : '无响应'; let 提示 = 天气获取失败(${错误}; // 给下面的变量提供安全默认值,避免后续渲染时报错 tR += ''; // 不输出提示到正文的话,保留空字符串 var 天气 = 提示, 温度范围 = '', 湿度 = '', 风向 = '', 紫外线 = '', 空气质量 = '', 日出日落 = ''; } else { let html = String (resp. text || ''). replace (/\n/g, '');

// 正则执行+容错 const mNow = /

(\d+)</b>℃</i></p>/. exec (html); const mRange = /(.?)</b>(.?)</span>/. exec (html); const mShidu = /

(.?)</b>(.?)</b>(.?)</b></dd>/. exec (html); const mKq = /<dd class="kongqi"\s>
(.?)</h5>
(.?)</h6>(.?)<br />((?:.|\s)?)</span></dd>/. exec (html);

// 安全取值 const 当前温度 = mNow?.[1] ? ${mNow[1]}℃ : ''; const 天气文本 = mRange?.[1] ?? ''; const 温度段 = mRange?.[2] ?? ''; const 湿度文本 = mShidu?.[1] ?? ''; const 风向文本 = mShidu?.[2] ?? ''; const 紫外线文本 = mShidu?.[3] ?? ''; const 空气级别 = mKq?.[1] ?? ''; // 如优/良/轻度污染... const 空气描述 = mKq?.[2] ?? ''; // 如 AQI 数值或说明 const 日出 = mKq?.[3] ?? ''; const 日落 = mKq?.[4]?.replace (/<.*?>/g, '') ?? ''; // 去掉可能的标签

// 暴露给下方模板使用的变量(沿用你的命名) var 天气 = '天气:' + (天气文本 || '未知'); var 温度范围 = '温度:' + ([当前温度, 温度段]. filter (Boolean). join (' / ') || '未知'); var 湿度 = 湿度文本 || ''; var 风向 = 风向文本 || ''; var 紫外线 = 紫外线文本 || ''; var 空气质量 = (空气描述 && 空气级别) ? ${空气描述}${空气级别} : (空气描述 || 空气级别 || ''); var 日出日落 = [日出, 日落]. filter (Boolean). join (' '); } -%>

[!tip] << <% tp.date.now("YYYY-MM-DD", -1) %> | <% tp.date.now("YYYY-MM-DD", 1) %> >> <% 天气 %><% 温度范围 %><% 湿度 %><% 空气质量 %>
<% 风向 %><% 紫外线 %><% 日出日落 %>

生活

  • <% tp.file.cursor() %>

学习

工作

随笔

复盘