Changeset 3372652
- Timestamp:
- 10/04/2025 01:40:01 AM (5 months ago)
- File:
-
- 1 edited
-
weatherbot/trunk/readme.txt (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
weatherbot/trunk/readme.txt
r3369061 r3372652 1 1 === WeatherBot Weather Widget === 2 2 Contributors: roxxistudios 3 Tags: weather, live weather, weather widget, local weather, google weather3 Tags: Live Weather, Weather Widget, Block, Local Weather, Google Weather 4 4 Requires at least: 6.0 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.1. 67 Stable tag: 1.1.7 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 14 14 == Description == 15 15 16 **[WeatherBot](https://roxxistudios.com/weatherbot)**displays **live weather** for any location in the world using **Google’s Weather API**, with city/place resolution via **Google Maps Geocoding/Places**. Use with a **Classic Widget**, a **Gutenberg block** (with live preview), or with a **shortcode** anywhere shortcodes are supported. Outputs a clean, accessible UI that works in any theme or builder.16 [__WeatherBot__](https://roxxistudios.com/weatherbot) displays **live weather** for any location in the world using **Google’s Weather API**, with city/place resolution via **Google Maps Geocoding/Places**. Use with a **Classic Widget**, a **Gutenberg block** (with live preview), or with a **shortcode** anywhere shortcodes are supported. Outputs a clean, accessible UI that works in any theme or builder. 17 17 18 18 == Screenshots == 19 1. Settings page with API key field and connection test20 2. Google API Usage Dashboard21 3. Badge type with title22 4. Compact type23 5. Inline type in body text24 6. Block with live preview and controls19 1. Settings page with API key field and connection test 20 2. Google API Usage Dashboard 21 3. Badge type with title 22 4. Compact type 23 5. Inline type in body text 24 6. Block with live preview and controls 25 25 26 26 == Features == … … 72 72 * **Position** (`align`) — `left`, `center`, `right` 73 73 * **Theme** (`font_color`) — `light`, `dark` contrast 74 * **Unit** (`unit`) — `IMPERIAL` (°F), ` CELSIUS` (°C), or inherit from Settings74 * **Unit** (`unit`) — `IMPERIAL` (°F), `METRIC` (°C), or inherit from Settings 75 75 * **Type** (`type`) — `badge`, `compact`, `inline` 76 76 * **City** (`city`) — type a city and press **Enter** to preview … … 83 83 84 84 **Basic:** 85 [weatherbot city="Lake Arrowhead, CA"]85 [weatherbot city="Lake Arrowhead, CA"] 86 86 87 87 **Badge type with °F:** 88 [weatherbot city="Lake Arrowhead, CA" unit="IMPERIAL" type="badge"]88 [weatherbot city="Lake Arrowhead, CA" unit="IMPERIAL" type="badge"] 89 89 90 90 **Title + right aligned:** 91 [weatherbot city="Lake Arrowhead, CA" type="badge" pre_text="Current Weather" align="right"]91 [weatherbot city="Lake Arrowhead, CA" type="badge" pre_text="Current Weather" align="right"] 92 92 93 93 **Hide the title (show_pre_text=0):** 94 [weatherbot city="Lake Arrowhead, CA" pre_text="Current Weather" show_pre_text="0"]94 [weatherbot city="Lake Arrowhead, CA" pre_text="Current Weather" show_pre_text="0"] 95 95 96 96 **High-contrast for dark backgrounds:** 97 [weatherbot city="Lake Arrowhead, CA" type="badge" font_color="light"]97 [weatherbot city="Lake Arrowhead, CA" type="badge" font_color="light"] 98 98 99 99 **Compact layout (°C):** 100 [weatherbot city="Lake Arrowhead, CA" type="compact" unit="CELSIUS"]100 [weatherbot city="Lake Arrowhead, CA" type="compact" unit="METRIC"] 101 101 102 102 **Inline layout (flows with text; omit align):** 103 [weatherbot city="Lake Arrowhead, CA" type="inline" pre_text="Now:"]103 [weatherbot city="Lake Arrowhead, CA" type="inline" pre_text="Now:"] 104 104 105 105 **All options:** 106 [weatherbot city="Lake Arrowhead, CA" unit="IMPERIAL" type="badge" pre_text="Current Weather" show_pre_text="1" align="center" font_color="dark"]106 [weatherbot city="Lake Arrowhead, CA" unit="IMPERIAL" type="badge" pre_text="Current Weather" show_pre_text="1" align="center" font_color="dark"] 107 107 108 108 == Attributes == 109 109 110 110 * city — string (e.g., `"Lake Arrowhead, CA"`) 111 * unit — `IMPERIAL` | ` CELSIUS` | empty to inherit from Settings111 * unit — `IMPERIAL` | `METRIC` | empty to inherit from Settings 112 112 * type — `badge` | `compact` | `inline` | empty to inherit 113 113 * pre_text — string (optional title above the widget) … … 124 124 You can override the built-in design system using global CSS variables. Add them to **Appearance → Customize → Additional CSS** or your child theme stylesheet: 125 125 126 :root {127 --wb-primary: #0055aa; /* link and highlight color */128 --wb-secondary: #3399ff; /* hover color */129 --wb-neutral: #666666; /* neutral text */130 --wb-light: #e0e0e0; /* light gray */131 --wb-dark: #111111; /* dark text */132 } 126 `:root { 127 --wb-primary: #0055aa; /* link and highlight color */ 128 --wb-secondary: #3399ff; /* hover color */ 129 --wb-neutral: #666666; /* neutral text */ 130 --wb-light: #e0e0e0; /* light gray */ 131 --wb-dark: #111111; /* dark text */ 132 }` 133 133 134 134 = Common Customizations = … … 305 305 WeatherBot is built with **vanilla JavaScript** (no jQuery) and standard WordPress packages, ensuring long-term compatibility with WordPress core updates. 306 306 307 308 309 307 310 == Pro Version (Coming Soon) == 308 311 We are actively developing **WeatherBot Pro**, an upgraded version of the plugin designed for websites that need more advanced weather features, deeper integrations, and expanded customization. Pro will include powerful enhancements that go beyond the current free version: 309 312 310 = Multi-Day Weather Forecasts (Pro Version)=313 === Multi-Day Weather Forecasts (Pro Version) === 311 314 Display not only current conditions but also **hourly and multi-day forecasts**. Perfect for tourism sites, hotels, resorts, outdoor recreation, and real estate listings where future weather is a deciding factor. 312 315 313 = Extended Layout & Style Controls (Pro Version)=316 === Extended Layout & Style Controls (Pro Version) === 314 317 Gain full control over **fonts, colors, and card designs** with a point-and-click style editor. Choose from additional layouts (carousel, grid, stacked) and apply them per widget, block, or shortcode instance. 315 318 316 = Builder & Theme Integrations (Pro Version)=319 === Builder & Theme Integrations (Pro Version) === 317 320 Pro will offer deeper compatibility with **Elementor**, **Beaver Builder**, **Divi**, and **WPBakery**, allowing you to configure weather blocks visually inside your page builder without relying only on shortcodes. 318 321 319 = Advanced Caching & Performance Tools (Pro Version)=322 === Advanced Caching & Performance Tools (Pro Version) === 320 323 Control caching intervals, purge rules, and fallback states for **high-traffic environments**. Optimize for SEO and speed without sacrificing live data accuracy. 321 324 322 = Business & Location Features (Pro Version)=325 === Business & Location Features (Pro Version) === 323 326 Associate multiple cities or service areas and display them in **maps, lists, or comparison tables**. Ideal for businesses with multiple offices, retail stores, or event venues. 324 327 325 = More API Options (Pro Version)=328 === More API Options (Pro Version) === 326 329 Expanded support for alternative weather APIs will be explored, providing flexibility in data sources and resilience if usage quotas are reached. 327 330 328 331 **WeatherBot Pro** will ensure you stay ahead with **forecast-ready features, enterprise-level styling options, and robust performance tools**. Stay tuned for updates, and watch for announcements in the plugin dashboard and on the [WeatherBot project page](https://roxxistudios.com/weatherbot). 332 333 334 329 335 330 336 == External services == … … 342 348 The plugin may cache API responses (weather lookups and reverse-geocoded place names) in your WordPress database to reduce network calls and improve performance. Cache lifetimes are limited and can be cleared by site admins at any time. 343 349 350 351 352 344 353 == Changelog == 345 354 355 = 1.1.7 = 356 * **Enhancement:** Refined codebase for consistency and maintainability. 357 * **Improvement:** Minor optimizations to markup and styles for cleaner output. 358 * **Dev:** General housekeeping to align with WordPress.org plugin standards. 359 346 360 = 1.1.6 = 347 * Fix: Resolved PHP 8.x notice: Undefined array key "heading_tag" in src/Widgets/Weather_Widget.php. 348 * Improvement: Backfilled legacy widget instances with safe defaults via wp_parse_args() in widget() and form(). 349 * Improvement: Whitelisted/sanitized heading_tag and removed direct array access to prevent future notices. 350 * Dev: Centralized DEFAULTS constant and added defensive guards; no front-end output changes. 361 * **Fix:** Resolved PHP 8.x notice: Undefined array key "heading_tag" in src/Widgets/Weather_Widget.php. 362 * **Improvement:** Backfilled legacy widget instances with safe defaults via wp_parse_args() in widget() and form(). 363 * **Improvement:** Whitelisted/sanitized heading_tag and removed direct array access to prevent future notices. 364 * **Dev:** Centralized DEFAULTS constant and added defensive guards; no front-end output changes. 365 366 = 1.1.5 = 367 * **Accessibility:** Added role="region" to all widget types to improve accessibility and boost CSS specificity. 368 369 = 1.1.4 = 370 * **Fix:** Increased CSS specificity to preserve base styles. 371 372 = 1.1.3 = 373 * **Security:** API key is masked in the admin with toggle for last 4 digits. 374 * **Settings:** Existing keys preserved unless cleared manually. 375 * **Accessibility:** Toggle button labeled with aria-pressed state. 376 * **Dev:** Updated sanitize() to support masked states. 377 378 = 1.1.2 = 379 * **Docs:** Clarified sections in readme.txt file. 380 381 = 1.1.1 = 382 * **New Feature (SEO):** Added WeatherForecast schema.org (JSON-LD) for Google rich results. 383 * **New Feature:** Added heading_tag control for title HTML tag (H2–H6). 384 * **Enhancement:** Refactored HTML output with semantic markup for accessibility and SEO. 385 * **Enhancement:** Improved widget Theme Color setting for clarity and readability. 386 * **Tweak:** Renamed "Inherit" to "Default" in widget dropdowns. 387 388 = 1.1.0 = 389 * **Fix:** Adjusted CSS specificity to maintain weather widget consistency. 390 * **Dev:** Added data-widget attribute to support CSS specificity. 391 392 = 1.0.9 = 393 * **Enhancement:** Improved CSS with layering and theme style inheritance. 394 * **Accessibility:** Added additional CSS refinements for ADA compliance. 395 * **Styling:** Updated widget theme styles for consistency. 396 397 = 1.0.8 = 398 * **Docs:** Updated readme.txt content. 399 * **Dev:** Refactored codebase for maintainability. 400 * **Styling:** Improved style rules to allow theme priority. 401 * **Fix:** Resolved PHP 8.x error in front-end rendering. 402 403 = 1.0.7 = 404 * **Fix:** Corrected alignment for inline widget inside paragraphs. 405 * **Docs:** Updated readme.txt content. 406 407 = 1.0.6 = 408 * **Fix:** Prevented duplicate stylesheet load on front end when block is present. 409 * **Docs:** Documented show_pre_text option in readme.txt. 410 * **Enhancement:** Improved styles for better layout control. 411 * **UI:** Reordered widget setting fields for clarity. 412 413 = 1.0.5 = 414 * **Enhancement:** Improved responsive styles and refined uninstall cleanup procedure. 415 416 = 1.0.4 = 417 * **New Feature:** Added "Align" option to WeatherBot Widget (left, center, right, inherit). 418 419 = 1.0.3 = 420 * **Styling:** CSS refinements for responsive layouts. 421 422 = 1.0.2 = 423 * **Styling:** Updated badge layout styles for improved consistency. 424 425 = 1.0.1 = 426 * **New Feature:** Added uninstall.php for cleanup on plugin deletion. 427 * **Settings:** Added option to control data deletion on uninstall. 428 * **Assets:** Updated icons, screenshots, and logos. 429 * **UI:** Updated settings page layout. 430 431 = 1.0.0 = 432 * **Initial Release:** Launch of WeatherBot plugin with shortcode, widget, and block support. 433 434 435 351 436 352 437 == Upgrade Notice == 438 439 = 1.1.7 = 440 Refinement release with minor code and style improvements. 441 353 442 = 1.1.6 = 354 443 Prevents PHP 8.x notices in the WeatherBot widget. Recommended for all sites. 355 444 356 = 1.1.5 =357 * **Updated:** Added role="region" to all widget types to improve accessibility and boost CSS specificity.358 359 = 1.1.4 =360 * **Hot Fix:** CSS specificity increased to preserve base styles361 362 445 = 1.1.3 = 363 * **Security:** Google API key is no longer rendered in admin HTML; the field now displays only a masked value to prevent page-source exposure and shoulder surfing. 364 * **UI:** Masked key field with Dashicons toggle (visibility/hidden) to reveal **last 4 digits only**; improves clarity while keeping the full key secret. 365 * **Settings:** Existing key is preserved on save when the field is blank or still masked; new **“Clear saved key on Save”** checkbox allows explicit removal. 366 * **Accessibility:** Toggle button includes proper labeling and `aria-pressed` state. 367 * **Developer:** `sanitize()` updated to recognize both mask states (full mask and mask+tail), sanitize replacements (`[A-Za-z0-9_-]`), and maintain behavior of the server-side connection test against the saved key. 368 369 = 1.1.2 = 370 * **Updated:** Clarified sections in readme.txt file 446 Security update: API key field is now masked with a toggle showing only the last 4 digits. Existing keys are preserved unless cleared manually. 371 447 372 448 = 1.1.1 = 373 * **New Feature (SEO):** Automatically generates valid `WeatherForecast` schema.org (JSON-LD) structured data for every unique location, making pages eligible for Google's weather rich results. 374 * **New Feature:** Added `heading_tag` attribute to the shortcode, block, and widget to allow control over the title's HTML tag (H2-H6) for better SEO hierarchy. 375 * **Enhancement:** The entire front-end HTML output has been refactored to use semantic tags (`<aside>`, `<h3>`, etc.) for improved accessibility and SEO. 376 * **Enhancement:** Updated the widget's "Theme Color" setting to be more intuitive (e.g., selecting "Dark Theme" correctly applies a light font color). 377 * **Tweak:** Renamed "Inherit" to "Default" in widget dropdowns for clarity. 378 379 = 1.1.0 = 380 * **Fixed:** CSS specificity to maintain weather widget consistency 381 * **Updated:** html output with a data-widget to support CSS specificity 382 383 = 1.0.9 = 384 * **Enhanced:** CSS with layering and theme style inherit for consistency. 385 * **Added:** additional CSS for ADA enhancements 386 387 = 1.0.8 = 388 * **Updated:** readme.txt content 389 * **Updated:** Refactored code base 390 * **Improved:** Updated styles to allow theme priority 391 * **Fixed:** Fixed php8 error 392 393 = 1.0.7 = 394 * **Fixed:** alignment for inline widget for improved alignment in paragraph. 395 * **Updated:** Readme.txt file content. 396 397 = 1.0.6 = 398 * **Fixed:** duplicate stylesheet on the front end when the block is present (unified handle/guarded enqueue). 399 * **Documented:** `show_pre_text` option in readme. 400 * **Enhanced:** styles for better layout control. 401 * **Updated:** Widget setting fields layout order. 402 403 = 1.0.5 = 404 * **Enhanced:** responsive styles and improved uninstall cleanup procedure. 405 406 = 1.0.4 = 407 * **Added:** "Align" option to the WeatherBot Widget (left, center, right, inherit). 408 409 = 1.0.3 = 410 * **Updated:** CSS refinements for responsive styling. 411 412 = 1.0.2 = 413 * **Updated:** badge layout styles. 414 415 = 1.0.1 = 416 * **Added:** uninstall.php for cleanup on plugin deletion. 417 * **Added:** user setting to control data deletion. 418 * **Updated:** assets (icons, screenshots, logos). 419 * **Updated:** settings page layout. 420 421 = 1.0.0 = 422 * Initial release. 449 Adds WeatherForecast schema for Google rich results plus heading_tag control. Improves semantic HTML for SEO and accessibility. 450 451 452
Note: See TracChangeset
for help on using the changeset viewer.