Obsidian 插件:OpenWeather
概述
该插件以可配置的字符串格式返回 OpenWeather 的当前天气。
插件名片
特点
使用
默认天气字符串与示例截图
状态栏字符串
' | %desc% | 当前温度:%temp%°C | 体感温度:%feels%°C | '
天气格式字符串示例 1
'%desc% • 当前温度:%temp%°C • 体感温度:%feels%°C\n'
天气格式字符串示例 2
‘%name%: %dateMonth4% %dateDay2% - %timeH2%:%timeM% %ampm1%\n 当前温度: %temp%°C • 体感温度: %feels%°C\n 风速: %wind-speed% km/h,来自 %wind-dir%^,阵风可达 %wind-gust% km/h^\n 日出时间: %sunrise% • 日落时间: %sunset%\n’
天气格式字符串示例 3
'%icon% %dateMonth4% %dateDay2% %dateYear1% • %timeH2%:%timeM% %ampm1% • %desc%<br> 记录温度:%temp% • 体感温度:%feels%<br> 风速:%wind-speed% 公里/小时,来自%wind-dir%^,阵风高达%wind-gust% 公里/小时^<br> 日出时间:%sunrise% • 日落时间:%sunset%'
天气格式字符串示例 4
'%icon% %dateMonth4% %dateDay2% %dateYear1% • %timeH2%:%timeM% %ampm1% • %desc%<br> 当前温度:%temp% • 体感温度:%feels%<br> 风速:%wind-speed% 公里/小时,来自 %wind-dir%^,阵风可达 %wind-gust% 公里/小时^<br> 日出时间:%sunrise% • 日落时间:%sunset%'
在 DIV 中使用格式字符串三和四,并使用 CSS 进行样式化
格式字符串三…
格式字符串四…
注意:在设置中编辑时不需要 \n
。只需输入 return
以添加新行,保存的设置文件中将添加 \n
。字符串格式 3 和 4 中的 <br>
在 HTML 中使用时是必需的。
请参阅 EXAMPLE.md 以了解我如何在我的每日模板中使用此功能的示例。
设置
输入位置
输入您所在城市的名称(必填)
OpenWeather API 密钥
在此处输入您的 OpenWeather API 密钥(必填)
插件需要一个免费的 OpenWeather API 密钥才能正常工作。
请访问https://openweathermap.org 进行注册并获取密钥。>
注册页面的直接链接为<https://home.openweathermap.org/users/sign_up。>
注意:您需要验证您的电子邮件地址,然后您的 API 密钥将通过电子邮件发送给您。密钥本身可能需要几个小时才能激活。所有这些信息都将包含在他们发送给您的电子邮件中。
度量单位
可以在这里选择标准、公制和英制单位。(注意:标准单位是开尔文,在大多数情况下并不实用)
排除文件夹
要从自动 模板 字符串替换中排除的文件夹。这应该设置为您的保险库模板文件夹。
天气字符串格式化
在这里定义你的天气字符串(最多可用 4 个字符串)
提示:这些字符串可以包含任何你想要的内容,不仅仅是天气信息。
在状态栏中显示天气 注意:此功能不会在移动应用程序上显示
切换在状态栏中显示当前天气的开关
天气字符串格式状态栏 注意:此内容不会在移动应用上显示
在这里定义您的状态栏天气字符串
更新频率
在状态栏和 DIV 中显示的天气更新的时间间隔(1、5、10、15、20、30 或 60 分钟)
天气字符串占位符
这些宏将在天气字符串中被相应的数据替换。
- 天气描述
%desc%
- 天气图标
%icon%
- 请参阅下面的注释 - 当前温度
%temp%
- 体感温度
%feels%
- 最低温度
%tempmin%
- 最高温度
%tempmax%
- 大气压力
%pressure%
- 湿度
%humidity%
- 海平面气压
%pressure-sl%
- 地面气压
%pressure-gl%
- 能见度
%visibility%
- 风速
%wind-speed%
- 公制单位为千米/小时,英制单位为英里/小时 - 风向
%wind-dir%
- 例如:西北风 - 阵风
%wind-gust%
- 请参阅下面的注释 - 日出时间
%sunrise%
- 08:30:30(24 小时制) - 日落时间
%sunset%
- 19:30:30(24 小时制) - 城市名称
%name%
- 例如:埃德蒙顿 - 云量
%clouds%
(百分比) - 过去 1 小时降雨量
%rain1h%
(毫米) - 过去 3 小时降雨量
%rain3h%
(毫米) - 过去 1 小时降雪量
%snow1h%
(毫米) - 过去 3 小时降雪量
%snow3h%
(毫米) - 过去 1 小时降水量
%precipitation1h%
(毫米 - 雨或雪) - 过去 3 小时降水量
%precipitation3h%
(毫米 - 雨或雪) - (日期和时间)- OpenWeather API 可用的最新数据信息的日期和时间
- 年份 1
%dateYear1%
- 2022 - 年份 2
%dateYear2%
- 22 - 月份 1
%dateMonth1%
- 1 - 月份 2
%dateMonth2%
- 01 - 月份 3
%dateMonth3%
- 一月 - 月份 4
%dateMonth4%
- January - 日期 1
%dateDay1%
- 02 - 日期 2
%dateDay2%
- 2 - 上午/下午 1
%ampm1%
= “AM” - 上午/下午 2
%ampm2%
= “am” - 小时 1
%timeH1%
- 23(24 小时制) - 小时 2
%timeH2%
- 1(12 小时制) - 分钟
%timeM%
- 05 - 秒钟
%timeS%
- 05
- 年份 1
天气占位符注释
%Icon%
- 这将被图像标签<img src={Icon Url} />
替换。如果它嵌入在 div 代码块中,将更加有用。%wind-gust%
只有当条件存在时,API 才会返回这个数据。如果你希望在字符串中将这个数据设为可选项,可以用尖括号括起来。- 例如:
风速 %wind-speed% km/h^,阵风可达 %wind-gust% km/h^
- 带有阵风数据时,将转换为:
风速 10 km/h,阵风可达 20 km/h
- 没有阵风数据时,将转换为:
风速 10 km/h
(尖括号括起来的阵风文本将被删除)
OpenWeather 插件命令
插入天气格式一
- 将天气格式字符串一插入到当前文档中。插入天气格式二
- 将天气格式字符串二插入到当前文档中。插入天气格式三
- 将天气格式字符串三插入到当前文档中。插入天气格式四
- 将天气格式字符串四插入到当前文档中。- 注意:如果在运行这些命令时在当前文档中选择了文本,它将被插入的天气字符串替换。
替换模板字符串
- 这将用相应定义的天气字符串替换所有出现的字符串%weather1%
、%weather2%
、%weather3%
和%weather4%
。另请参见 模板支持。
模板支持
您可以在模板中放置以下字符串,当使用模板创建新文档时,它们将自动替换为相应的天气字符串。
%weather1%
- 插入天气字符串格式一%weather2%
- 插入天气字符串格式二%weather3%
- 插入天气字符串格式三%weather4%
- 插入天气字符串格式四
DIV 支持
您可以在文档中插入以下 DIV,以提供动态天气,该天气将根据 设置_更新频率_ 中设置的频率进行更新。请参阅 EXAMPLE.md 以了解我如何在我的每日模板中使用它们的演示。
<div class="weather_current_1"></div>
您可以使用以下类来插入相应的天气字符串格式:
- “weather_current_1” 插入天气字符串格式一
- “weather_current_2” 插入天气字符串格式二
- “weather_current_3” 插入天气字符串格式三
- “weather_current_4” 插入天气字符串格式四
重要提示
这还需要您在要显示当前天气的笔记的 frontmatter 中添加以下行…
---
cssclass: openweather
---
然后将以下 css 片段(将其命名为 ‘openweather.css’ 或您喜欢的任何名称)添加到您的 vault 片段文件夹 vault-name/.obsidian/snippets
(如果不存在,请创建 snippets 文件夹)…
不要忘记在设置/外观中启用片段(在底部)。
请随意修改此片段以实现您想要的布局…
.openweather {
padding-left: 25px !important;
padding-right: 25px !important;
padding-top: 20px !important;
}
/* 当前天气一、二、三和四的设置 */
/* 这些不是必需的,但演示了如何样式化天气字符串 */
.weather_current_1, .weather_current_2, .weather_current_3, .weather_current_4 {
display: flex;
float: left;
clear: left;
color: #c4caa5;
background-color: #133e2c;
align-items: center;
top: 80px;
left: 35px;
position: absolute;
font-family: monospace;
font-size: 14pt !important;
margin: 10px 5px;
padding: 10px 20px;
box-shadow: 3px 3px 2px #414654;
}
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。