=== Modern Maps Lite ===
Contributors:      modernmaps, eggyBones
Tags:              map, maps, google maps, map block, openstreetmap
Tested up to:      6.9
Stable tag:        1.0.2
Requires at least: 6.7
Requires PHP:      7.4
License:           GPL-2.0-or-later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Plugin URI:        https://modernmapswp.com
Author URI:        https://modernmapswp.com

Add beautiful, customizable maps to any page in seconds. No API key required. Built for Gutenberg.

== Description ==

**Modern Maps Lite is the easiest way to add beautiful, customizable maps to your WordPress site.** No API keys. No Google Cloud Console. No complicated setup. Just add a block, search for your location, and publish — your map looks good from the start.

Built from the ground up for the WordPress block editor, Modern Maps Lite uses MapLibre GL to render smooth, modern vector maps that match your site's design. It's the map block WordPress should have shipped with.

= Why Modern Maps Lite? =

* **Works instantly** — no API key, no Google Cloud account, no billing setup
* **Native Gutenberg block** — not a shortcode, not a widget, not a retrofitted legacy plugin
* **Curated style presets** — White, Black, and Standard themes designed for modern web design
* **Theme color matching** — pick a color and your entire map palette updates
* **Vector tiles** — smooth, fast, and crisp at every zoom level

= Features =

* Add maps to any page or post using the block editor
* Search for any address or place name directly in the editor
* Unlimited markers per map
* Rich marker popups — add text, images, or any WordPress block inside a popup
* 3 style presets: White (clean, minimal), Black (dark mode), Standard (classic)
* Theme color picker to match your map to your brand
* Auto-fit viewport to show all markers, or set a fixed center and zoom
* Adjustable map height with CSS unit support (px, vh, em)
* Wide and full-width alignment options
* Border, border-radius, and shadow controls via the block editor
* Responsive and mobile-friendly
* Lightweight — no jQuery, no legacy admin panels
* Works with any properly coded WordPress theme
* GDPR-friendly — all external service connections fully disclosed
* No coding required

= Want More? Try Modern Maps Pro =

[Modern Maps Pro](https://modernmapswp.com) adds powerful customization for designers and agencies:

* Advanced LCH color space controls — fine-tune every color on your map
* Additional style presets
* Priority email support
* Multi-site licensing (5 or 25 sites)

= Perfect For =

* Small businesses showing their storefront location
* Restaurants, cafes, and bars with a contact page
* Real estate agents displaying property locations
* Travel bloggers mapping their adventures
* Churches, gyms, and community organizations
* Nonprofits mapping their service areas
* Freelancers and agencies building client sites
* Anyone who wants a map on their WordPress site without the API key hassle

= How It Works =

1. **Install** — Find Modern Maps Lite in the WordPress plugin directory and activate it. No account creation. No API key setup.
2. **Add a map** — Open any page or post, add the Modern Maps block, and search for your location.
3. **Make it yours** — Choose a style preset or match your theme color. Publish and you're done.

= Links =

* [Live Demo](https://modernmapswp.com/demo)
* [Documentation](https://modernmapswp.com/docs)
* [Support](https://wordpress.org/support/plugin/modernmaps-lite/)

= Source Code =

The full unminified source code for all JavaScript and CSS is included in the `src/` directory of this plugin. The compiled versions used at runtime are in the `build/` directory.

== Installation ==

1. Install "Modern Maps Lite" from the WordPress plugin directory, or upload the plugin files to the `/wp-content/plugins/modernmaps-lite` directory.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Navigate to any page or post in the block editor and add the "Modern Maps" block.
4. Search for a location, drop a marker, and publish.

== Frequently Asked Questions ==

= Do I need a Google Maps API key? =

No. Modern Maps Lite uses OpenStreetMap data rendered through MapLibre GL. No API key, no Google Cloud Console, no billing account. Install, activate, and you're mapping.

= Is this plugin really free? =

Yes. The free version includes unlimited markers, 3 style presets, theme color matching, rich marker popups, and the full block editor experience. Modern Maps Pro adds advanced LCH color controls, additional presets, and priority support.

= Will this slow down my website? =

No. Modern Maps Lite uses vector tiles instead of raster images, loads only what's visible on screen, and has no jQuery dependency. It's lighter than a Google Maps iframe embed.

= Does it work with my theme? =

Yes. Modern Maps Lite works with any properly coded WordPress theme. The style presets are designed to complement modern web design, and the theme color option lets you match your map to your brand.

= Is it GDPR-compliant? =

Modern Maps Lite connects to external tile and geocoding services to render maps. All connections are fully documented in the External Services section below. No personal user data is collected by the plugin. Consult your legal advisor for your specific compliance requirements.

= How do I add a map to my page? =

Add the Modern Maps block in the editor, search for your address, drop a marker, and publish. No shortcodes to copy, no settings pages to configure.

= Can I customize how the map looks? =

Yes. Choose from three built-in style presets — White (clean, minimal), Black (dark mode), and Standard (classic blue). Use the theme color picker to generate a map palette that matches your brand. You can also add borders, rounded corners, and shadows using the standard block editor controls.

= What map styles are available? =

The free version includes White, Black, and Standard. Each preset adjusts the entire map — roads, water, land, labels, and more. Pro adds additional presets and full LCH color space controls.

= Can I add content to marker popups? =

Yes. Each marker has a popup that supports any WordPress block — paragraphs, images, buttons, headings, and more. Design your popups the same way you design the rest of your page.

= How many maps can I add to my site? =

Unlimited. Add as many maps as you want across any pages or posts. Each map can have unlimited markers.

= How do I get support? =

Free users can post in the [WordPress.org support forum](https://wordpress.org/support/plugin/modernmaps-lite/). We aim to respond within 24 hours. Pro users get priority email support.

= Will I lose my maps if I upgrade to Pro? =

No. All your existing maps and settings are preserved. Pro features unlock on top of what you already have.

== External Services ==

This plugin relies on the following third-party external services to provide its core functionality. Each service is documented below in a consistent format showing what it is used for, when it is contacted, and what data is sent.

= Modern Maps Tile Proxy =

* **Used for:** Delivering vector map tiles, fonts (glyphs), and sprite assets to the visitor's browser so the map can render.
* **When:** Whenever a map block is rendered, both on the public front end and inside the WordPress block editor.
* **Data sent:** Standard HTTP request data from the visitor's browser (this is true of any web request). The proxy itself samples sites — not individual requests — using a deterministic hash of the site's hostname: approximately one in ten sites are included, and for those sites every request is logged (for the rest, no requests are logged). For included sites, the proxy records the calling site's domain (taken from the standard Origin or Referer header the browser already sends), the asset type requested (tile, font, or sprite), and the HTTP response status. Records are retained for 90 days. **No visitor IP addresses, user agents, request paths, query strings, cookies, or other personal data are stored.**
* **Service URL:** https://tiles.modernmapswp.com
* **Provider:** Modern Maps (modernmapswp.com)
* **Terms of Use:** [https://modernmapswp.com/terms](https://modernmapswp.com/terms)
* **Privacy Policy:** [https://modernmapswp.com/privacy](https://modernmapswp.com/privacy)

= MapTiler =

* **Used for:** Source of the underlying vector tiles and font glyphs served by the tile proxy above.
* **When:** Indirectly, whenever the tile proxy is contacted. The visitor's browser does not communicate with MapTiler directly — all requests are routed through the proxy.
* **Data sent:** Server-to-server requests from the tile proxy. No data flows from the visitor's browser to MapTiler.
* **Service URL:** https://api.maptiler.com
* **Terms of Use:** [https://www.maptiler.com/terms-of-use/](https://www.maptiler.com/terms-of-use/)
* **Privacy Policy:** [https://www.maptiler.com/privacy-policy/](https://www.maptiler.com/privacy-policy/)

= Komoot Photon Geocoding API =

* **Used for:** Converting a typed address or place name into latitude and longitude coordinates.
* **When:** Only when an admin types into the location search field inside the block editor. Never contacted on the public front end.
* **Data sent:** The search query text and standard HTTP request headers from the admin's browser.
* **Service URL:** https://photon.komoot.io
* **Terms of Use:** [https://photon.komoot.io/](https://photon.komoot.io/) (Photon is an open-source geocoding API built on OpenStreetMap data and does not publish a separate privacy policy.)

= Protomaps Basemap Assets =

* **Used for:** Sprite images and font glyphs used by the "Standard" map style.
* **When:** Whenever a map using the Standard theme is rendered, in the editor or on the public front end.
* **Data sent:** Standard HTTP request data (IP address, user agent) from the visitor's browser to GitHub Pages.
* **Service URL:** https://protomaps.github.io/basemaps-assets/
* **Provider:** Protomaps
* **Project Page:** [https://protomaps.com/](https://protomaps.com/)
* **GitHub Privacy Statement:** [https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement)

== Screenshots ==

1. Maps that just work — install the plugin, drop a block, you're done
2. Three free presets, zero compromises — Standard, Dark, and Light included
3. Dark mode, native — your map adapts to your visitor's preferences
4. Light mode. Dark mode. Same block — switch presets in the block inspector
5. Everything you need. Nothing you don't — Gutenberg native, no API keys, privacy-first
6. Three styles included free — Light, Standard, and Dark cover every use case
7. Want more? Upgrade to Modern Maps Pro for unlimited colors and custom presets

== Changelog ==

= 1.0.2 =
* Infrastructure: Map tiles, fonts, and sprites now load from tiles.modernmapswp.com. Existing maps continue to render without any action on your part — both hosts route to the same backend.
* Privacy: Reformatted the External Services section into a consistent per-service block (Used for / When / Data sent / Service URL / Privacy Policy) and clarified what the tile proxy logs (calling site domain, asset type, HTTP response status — no visitor IPs, user agents, request paths, or cookies).
* Privacy: Suggested privacy-policy text now appears in WP Admin → Tools → Privacy → Policy Guide so site owners can paste the relevant clauses into their own privacy policy.

= 1.0.1 =
* Fix: Map style spec is now reconstructed at runtime, reducing the size of saved block markup. Existing posts continue to render and migrate to the new shape on next save.
* Fix: Attribution-area background no longer renders white on procedural (custom-color) maps. The lightness value was being multiplied by 100 twice, producing oklch() values above the 100% clamp.
* Performance: Front-end pages no longer load the editor-only iframe script, reducing JavaScript pageweight for visitors. Front-end maps continue to render via view.js as before.

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.2 =
Tile host migrated to tiles.modernmapswp.com (existing maps keep working) plus an improved privacy disclosure surfaced in the WordPress Privacy Policy Guide.

= 1.0.1 =
Bug fixes and front-end performance improvements. Existing maps continue to work without re-saving.

= 1.0.0 =
Initial release of Modern Maps Lite.
