Weave Code
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
Richer Editor

Richer Editor Laravel Package

awcodes/richer-editor

Enhance Filament’s Rich Editor with a suite of plugins and tools—embeds, emojis, fullscreen, links, source code, IDs, debugging, faker content, and Shiki code blocks. Designed to extend the editor experience in Filament 4/5.

View on GitHub
Deep Wiki
Context7

A collection of extensions and tools to enhance the Filament Rich Editor field.

Frequently asked questions about Richer Editor
Which Filament versions does awcodes/richer-editor support, and how do I check compatibility?
The package supports Filament 4.x (v1.x) and Filament 5.x (v2.x). Check the package version in your `composer.json`—v1.x aligns with Filament 4, while v2.x is for Filament 5. Always verify the [compatibility table](https://github.com/awcodes/richer-editor#compatibility) before installing.
How do I install and set up awcodes/richer-editor in my Laravel project?
Run `composer require awcodes/richer-editor`, then add the CSS and Blade views to your Filament custom theme’s `theme.css` or `app.css` using `@import` directives. Ensure you’ve set up a custom theme first, as required by Filament. Follow the [installation guide](https://github.com/awcodes/richer-editor#installation) for exact syntax.
Can I use awcodes/richer-editor without a Filament custom theme?
No, the package requires a Filament custom theme to load its CSS and Blade views. If you don’t have one, create it by following Filament’s [theme documentation](https://filamentphp.com/docs/4.x/styling/overview#creating-a-custom-theme). This is a mandatory step for all features to work.
Which plugins are stable for production use, and which are experimental?
Stable plugins include `CodeBlockShikiPlugin`, `EmbedPlugin`, `EmojiPlugin`, `FullScreenPlugin`, `IdPlugin`, `LinkPlugin`, and `SourceCodePlugin`. Experimental plugins like `FigurePlugin` and `VideoPlugin` are marked as unstable and should not be used in production without thorough testing. Check the [README warnings](https://github.com/awcodes/richer-editor#editor-usage) for details.
How does awcodes/richer-editor handle syntax highlighting for code blocks?
Syntax highlighting is powered by Shiki (client-side) and Phiki (server-side). Shiki runs in the browser for real-time preview, while Phiki ensures consistent rendering on the server. You’ll need to configure themes and languages via Shiki’s options. If Shiki fails, the package provides fallback mechanisms to avoid breaking the editor.
Will awcodes/richer-editor work with my existing Filament RichEditor fields?
Yes, the package extends Filament’s built-in `RichEditor` field. You can selectively enable plugins (e.g., `CodeBlockShikiPlugin`) without replacing your existing editor. Simply add the plugins to your `RichEditor::make()` configuration. No migration is required for existing content.
Are there performance concerns with Shiki running in the browser?
Shiki can impact performance for large documents due to its client-side processing. To mitigate this, scope Shiki’s language support to only what you need and consider lazy-loading the plugin. The package includes optimizations, but test with your expected content volume in a staging environment before production.
How do I store and retrieve rich content (e.g., code blocks, embeds) in the database?
Rich content is stored as JSON in Filament’s `RichContent` model attribute, just like the default `RichEditor`. The package doesn’t change this behavior, so existing database fields will work. For custom blocks (e.g., `HighlightedCodeBlock`), ensure your model’s `RichContent` column is large enough to accommodate the additional data.
What happens if Shiki or Phiki fails to load in my application?
The package includes graceful fallbacks. If Shiki fails (e.g., due to CORS or missing themes), the editor will still function but without syntax highlighting. Similarly, Phiki failures won’t break server-side rendering—it will default to a basic text representation. Logs will indicate the issue for debugging.
Can I use awcodes/richer-editor in a non-Filament Laravel project?
No, the package is tightly coupled with Filament’s `RichEditor` and `RichContentRenderer` components. While you could theoretically extract parts of it, the integration assumes Filament’s architecture. For standalone Laravel apps, consider alternatives like `tiptap` or `ckeditor` with custom Laravel wrappers.
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.
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
directorytree/opensearch-client
directorytree/opensearch-adapter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata