Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Filament Rich Editor Toolkit Laravel Package

asignua/filament-rich-editor-toolkit

A Filament RichEditor toolkit adding customizable toolbar buttons, plugins, and content tools for Laravel admin forms. Extend rich text editing with reusable actions and a smoother authoring experience.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Shipping user-generated rich text safely. Link handling now defaults to target="_blank" with forced noopener noreferrer and a rel token allow-list, so "publish editor content" can ship without a bespoke sanitizer for links. Directly supports roadmap items around comments, CMS pages, and any surface rendering untrusted HTML.
  • Content fidelity and accessibility commitments. Figure/figcaption normalization and preserving <img alt=""> mean captioned images and alt text survive the editor → stored HTML → page pipeline. Supports accessibility/SEO requirements and any image-caption feature on the roadmap without custom rendering code.
  • Build vs. buy on editor plumbing. Paste cleaning, Google Docs/Word HTML normalization, remote image ingestion, and media attribute policy are commodity work. Adopting keeps engineering on differentiated features; the v1.1.0 release is evidence the package owner is iterating on exactly the parts you'd otherwise maintain.
  • Abuse/SSRF exposure decisions. Remote image fetching (uploadImages()) is now off by default, requires a logged-in user unless paste_clean.remote_image_guests or authorizeRemoteImages() is set, skips proxying, avoids decompression, and no longer lets wildcard entries match across public suffixes (e.g. *.co.uk). This is the kind of default that should inform decisions about opening anonymous submission surfaces.
  • Upgrade/rollout planning. Renderer defaults changed in a minor release: existing stored content with <figure>/<figcaption>, links, or empty-alt images will render differently with no code change. Decide per surface whether to accept the new output or opt out, and budget a visual QA pass.
  • Release-discipline signal. Default-on behavior changes in a 1.1.0 argue for pinned versions, changelog review as part of upgrade cadence, and regression fixtures for rendered HTML.

When to Consider This Package

  • You use Filament (or Laravel) rich text editing and users paste from Google Docs, Word, or the web, and you need the result cleaned and normalized before storage or render.
  • You want server-side rendering to match editor output — captions, link attributes — instead of maintaining a parallel renderer.
  • You need configurable policy: image allow-lists (public-suffix aware), link rel tokens, and per-call or config-level opt-outs (renderer.link_options / renderer.image_properties).
  • You can run php artisan filament:assets as part of deploy — new and changed modules require it in v1.1.0.

Look elsewhere when:

  • You already run a hardened sanitization pipeline (HTML Purifier, DOMPurify at the edge, or a custom policy layer) — you'd be reconciling two sets of rules and owning the drift.
  • Your use case is anonymous public submission with server-fetched remote images; that now requires explicit opt-in (remote_image_guests, authorizeRemoteImages()), so factor in the extra configuration and the abuse review it implies.
  • You require byte-stable rendered HTML across minor upgrades, or cannot tolerate default changes without code changes; pinning plus tests is mandatory here.
  • You're not on Laravel/Filament, or deploys can't publish package assets.

How to Pitch It (Stakeholders)

Executives: A minor upgrade to the editor package that mainly hardens defaults — links render with safe rel/target values, image alt text is no longer dropped, and captioned images render consistently. Migration cost is a QA sweep of existing content plus a one-line deploy step (php artisan filament:assets); no commercial or licensing change is described. Recommend scheduling it rather than blocking on it.

Engineering: Treat v1.1.0 as a behavior change despite the minor version. The renderer now includes LinkOptionsPlugin and ImagePropertiesPlugin by default, so stored <a>, <figure>/<figcaption>, and <img alt=""> markup will render differently with no code change. Opt out globally via renderer.link_options / renderer.image_properties = false, or per call with RichEditorToolkit::renderer($html, links: false, images: false) and RichEditorToolkit::plugins(links: false, images: false). uploadImages() is now off by default, requires an authenticated user unless paste_clean.remote_image_guests or authorizeRemoteImages() is set, does not proxy, and never decompresses; wildcard allow-list entries over public suffixes no longer over-match. Pin the version, add rendered-HTML fixtures for link/caption/alt cases, and verify the asset publish step in CI.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk