=== LMDM Contributor Profile Card ===
Contributors: nicmare
Tags: LMDM, gutenberg, block, profile, wporg
Requires at least: 6.9
Tested up to: 7.0
Stable tag: 1.0.0
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A dynamic block for cached public profile cards.

== Description ==

LMDM Contributor Profile Card adds a dynamic Gutenberg block that renders a compact profile card from a WordPress.org profile username.

Profile data is read from the public profile page, cached with WordPress transients, and refreshed once per day. The block includes controls for visibility, colors, text alignment, Gravatar placement, and optional linking.

= Credits =

This plugin was inspired by Rodrigo Donini's original CardPress project:

https://github.com/donini/wp-profiles-card

Rodrigo Donini's project demonstrated a friendly way to turn public WP.org profile information into shareable profile cards. This plugin adapts that idea for Gutenberg as a server-rendered block using WordPress transients for caching.

This plugin is not affiliated with or maintained by Rodrigo Donini.

== Frequently Asked Questions ==

= Where did the idea for this block come from? =

The idea and crawler approach are credited to Rodrigo Donini and the original wp-profiles-card repository:

https://github.com/donini/wp-profiles-card

= Does this plugin use Rodrigo Donini's service? =

No. The block fetches public profile data directly from the WP.org profile page for the username entered in the block.

= How is profile data cached? =

Profile data is cached with WordPress transients. Each username gets its own transient cache and the data is refreshed once per day.

= Can profile images be stored locally? =

Yes. The plugin settings include an optional "Download Gravatar images in Media Library" checkbox. When enabled, Gravatar images are downloaded into the WordPress media library and the cached profile card uses the local media URL instead of requesting the remote image on every render.

= What happens if I enable local Gravatar downloads later? =

Existing profile card blocks and existing transient cache entries are handled automatically. When a cached profile is rendered and local Gravatar downloads are enabled, the plugin checks whether the matching image already exists in the media library. If it does not exist yet, the image is downloaded and the transient cache is updated to use the local URL.

= What happens if I disable local Gravatar downloads again? =

The plugin switches known cached profiles back to their original remote Gravatar URL and deletes the Gravatar images it created in the media library.

= What happens to downloaded Gravatar images when the plugin is deleted? =

Downloaded Gravatar images created by this plugin are deleted during plugin uninstall.

= What happens when I change the username? =

Changing the username uses a different transient key, so the block fetches and stores profile data for the new username.

== Changelog ==

= 1.0.0 =

Initial version.
