Skip to content

themicly/imagefeaty

Repository files navigation

ImageFeaty

Automatically generate beautiful blog covers and social media images from your WordPress content.

ImageFeaty composes branded Featured / Open Graph / Twitter / LinkedIn images from a post's title, category, author, date, brand logo and colours the moment it's published — then injects the matching social meta tags into your <head>. Canva-style automation, built natively for WordPress.

SaaS template example

Free, GPL-licensed WordPress plugin. All features included — no paywall.

Highlights

  • Auto-generation on publish/update via a background WP-Cron job.
  • 5 template packs — SaaS, News, Creator, Tech Split, Business Pro.
  • GD rendering engine with gradients, rounded shapes, drop shadows, browser frames, word-wrapping & auto-fitting text — no external service required.
  • Brand kit: logo, primary/secondary/accent/text colours, font selection.
  • Screenshot engine with a pluggable driver layer (external API or local).
  • Bulk & regeneration processed through a memory-safe batched queue.
  • JPG / PNG / WebP output, multiple sizes (1200×630, 1200×675, 1080×1080, 1920×1080, custom).

Requirements

  • WordPress 6.2+
  • PHP 8.1+
  • GD extension (with FreeType for crisp text; WebP for .webp output)

Install

# from wp-content/plugins
git clone <repo> imagefeaty
# optional: composer install   (a built-in PSR-4 autoloader is used otherwise)

Activate ImageFeaty in Plugins, then visit ImageFeaty → Brand Kit.

Fonts: drop TTF files into assets/fonts/ (see that folder's README). Without them ImageFeaty falls back to GD's bitmap font, so rendering never breaks — text just looks plainer.

Architecture

imagefeaty.php              Bootstrap: constants, autoloader, activation, boot
uninstall.php            Data cleanup on delete
includes/                PSR-4 root  (namespace ImageFeaty\)
  Core/                  Plugin kernel, DI Container, Activator/Deactivator, Autoloader
  Services/              Settings, License, BrandKit, ImageGenerator, GenerationService,
                         TemplateManager, ScreenshotService, Queue
  Rendering/             Canvas (GD wrapper), RenderContext (immutable data bundle)
  Templates/             TemplateInterface, AbstractTemplate + 5 packs
  Repositories/          ImageRepository (wpdb data-access)
  Admin/                 AdminMenu, Ajax
  Frontend/              MetaTags (og:image / twitter:image)
admin/views/             Dashboard, Templates, Brand Kit, Settings, Tools + header partial
assets/                  css/admin.css, js/admin.js, fonts/
docs/                    PRD & technical documentation

Design principles: OOP, constructor dependency injection through a small Container, a service layer for behaviour, the repository pattern for data, and declarative templates that paint onto a reusable Canvas. The rendering core is WordPress-agnostic and unit-testable in isolation.

Extensibility (hooks)

Hook Type Purpose
imagefeaty_is_pro filter Feature gate (defaults to all-unlocked); kept for forks/add-ons.
imagefeaty_can filter Per-capability gate override.
imagefeaty_register_templates filter Register custom TemplateInterface packs.
imagefeaty_screenshot_api_url filter Build the endpoint for an external screenshot API.
imagefeaty_screenshot_local filter Return raw bytes from a local headless renderer.
imagefeaty_output_meta_tags filter Suppress ImageFeaty's social meta (e.g. defer to an SEO plugin).
imagefeaty_booted action Fires after the plugin wires into WordPress.

Testing the render engine

The rendering core has no WordPress dependency, so it can be exercised headlessly (see docs/PRD.md → Testing). All five templates produce valid images at every size, including WebP.

License

GPL-2.0-or-later.

About

ImageFeaty - Automatically generate beautiful blog covers and social media images (Featured, Open Graph, Twitter, LinkedIn) from your content.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors