instagram_embed
No security coverage
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
- Install via Composer:
composer require drupal/instagram_embed - Enable:
drush en instagram_embed - 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.
- 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.