You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add OpenGraph images and SEO meta tags to plugin pages (#407)
* Add OpenGraph images and SEO meta tags to plugin pages
Plugin listing pages had no per-plugin <title>/OpenGraph tags, so social
shares fell back to the generic site card. This adds:
- SEO/OG/Twitter meta (title, description, image) on the plugin show and
license pages, mirroring the blog controller pattern.
- Generated OG images via TheOg (like blog posts): a queued
GeneratePluginOgImage job renders to the public disk and stores the URL
on a new plugins.og_image column. Dispatched from PluginSyncService and
Filament EditPlugin so images stay fresh.
- A PluginOgLayout that renders plugin version, required NativePHP Mobile
constraint, and iOS/Android minimums as rounded "pill" badges (composed
from rectangles + circles via a PillBox feature, since Intervention has
no rounded-rect primitive).
- A plugins:generate-og-images command to backfill existing plugins.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Mock SatisService in plugin OG image deletion test
The plugin deleting hook resolves SatisService, whose constructor assigns
the (string-typed) api key from config. In CI SATIS_API_KEY is unset, so
the null config value triggered a TypeError. Mock the service in the
deletion test (matching existing Satis test conventions) since the test
only exercises OG image cleanup.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments