This project is not covered by Drupal’s security advisory policy.

Description

Embeds Instagram posts, reels, and IGTV videos inside CKEditor 5 content via a native toolbar button and balloon form. No build step, no external proxy, no API key required.

Features

  • Adds an Instagram Post button to the CKEditor 5 toolbar.
  • Balloon form accepts an Instagram URL (post, reel, or TV) and validates it before inserting.
  • Optional background color toggle (configurable per embed).
  • Stores a lightweight placeholder in the database; a text filter converts it to the standard Instagram embed blockquote on render.
  • Strict server-side URL validation prevents XSS. No user-controlled markup or JavaScript is emitted.
  • Uses Instagram's native embed.js directly — no external proxy service dependency.
  • No build step: uses the CKEditor 5 DLL-compatible plugin format.

Installation & Configuration

  1. Install via Composer: composer require drupal/instagram_embed
  2. Enable: drush en instagram_embed
  3. Go to Configuration → Content authoring → Text formats and editors, edit the desired format (e.g. Full HTML):
    • Drag the Instagram Post button into the CKEditor 5 toolbar.
    • Enable the Instagram Embed filter.
  4. Save the format.

Additional Requirements

Drupal 10.3+ or 11. Only core modules required: filter and ckeditor5.

Similar projects

Ckeditor Instagram Embed — CKEditor 4 only, no stable release, appears unmaintained since 2024.

CKEditor Media Embed Plugin — generic oEmbed via external Iframely proxy; not Instagram-specific.

This module is a lightweight, zero-dependency alternative focused solely on Instagram with native CKEditor 5 support and per-embed background styling.

Project information

Releases