# Obsidian Plugin - Etch - Weather An Obsidian plugin that etches daily weather forecasts into your notes for permanent, local, offline access. [![BuyMeACoffee](https://raw.githubusercontent.com/pachadotdev/buymeacoffee-badges/main/bmc-yellow.svg)](https://www.buymeacoffee.com/parente) ![Animated gif demo of the steps documented in the Usage section below](./doc/plugin-demo.gif) ## Why? I wanted another plugin like [parente/obsidian-etch-google-calendar], this time to get an glimpse of expected weather in my daily notes and to maintain a history of those forecasts in my markdown files. ## Setup I've submitted this plugin for inclusion in the [Obsidian Community Plugins list](https://obsidian.md/plugins). You can one-click install it from there once it's approved. Until then, you can use the [BRAT plugin](https://tfthacker.com/BRAT) to install a release from this repository. Once installed, configure the default location for forecasts, measurement units, and other details in the [Obsidian settings](https://help.obsidian.md/settings). ## Usage Add a fenced code block with language identifier like `etch-weather{date: 2025-12-31}` to a note. Move the text caret out of the block so that it renders. Click the pen icon that appears in the bottom right to etch the forecast for the default location on that date (`2025-12-31`) into the code block. ```` ```etch-weather{date: 2025-12-31} ``` ```` Alternatively, create a daily note with a title like `2025-12-31` and place a code block without a `{date: ...}` into the note. The plugin will put the forecast for the default location for that date into the code block instead. This approach works great with the [Periodic Notes](https://github.com/liamcain/obsidian-periodic-notes) and [Calendar](https://github.com/liamcain/obsidian-calendar-plugin) plugins. ```` ```etch-weather ``` ```` You can override the default location using fenced block parameters too. ```` ```etch-weather{lat: 34.1030, lon: -118.4105, tz: America/Los_Angeles} ``` ```` ## Development ```bash cd /path/to/vault/.obsidian/plugins git clone git@github.com:parente/obsidian-etch-weather.git npm i npm run eslint npm run svelte-check npm run dev ``` ## Attribution The structure of this plugin originates from https://github.com/obsidianmd/obsidian-sample-plugin. I reused some code and patterns from https://github.com/parente/obsidian-etch-google-calendar. All [weather data by Open-Meteo.com](https://open-meteo.com/) under the [Attribution 4.0 International (CC BY 4.0) license](https://open-meteo.com/en/licence). The project uses the Open-Meteo [Typescript client](https://github.com/open-meteo/typescript) which is [MIT licensed](https://github.com/open-meteo/typescript/blob/main/LICENSE).