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

Ux Quill Laravel Package

ehyiah/ux-quill

Symfony UX bundle integrating the Quill.js WYSIWYG editor. Add QuillType to your forms (works well with EasyAdmin), supports AssetMapper or Webpack Encore builds, and includes simple Twig patterns to render saved HTML with Quill styling.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Feature Expansion:

    • Rich-Text Content Creation: Enable WYSIWYG editing for content-heavy applications (e.g., CMS, documentation platforms, or internal knowledge bases) without relying on third-party SaaS tools.
    • Admin Panel Enhancement: Integrate Quill.js into EasyAdmin CRUD interfaces to replace textareas with a user-friendly editor for fields like description, content, or bio, improving data entry efficiency.
    • Collaborative Tools: Add rich-text capabilities to internal dashboards (e.g., project notes, feedback forms, or customer support tickets) to enhance usability for non-technical teams.
    • Marketing and Product Pages: Empower marketing teams to update product descriptions, blog posts, or landing pages with a lightweight, customizable editor that aligns with brand guidelines.
  • Roadmap Prioritization:

    • Build vs. Buy: Justify internal development of rich-text features over licensing proprietary editors (e.g., TinyMCE, CKEditor) by leveraging open-source Quill.js, reducing long-term costs and enabling customization.
    • Tech Stack Alignment: Align with Symfony’s modern frontend ecosystem (Symfony UX, Stimulus, Turbo) to maintain consistency and reduce technical debt. Avoids jQuery-based solutions or standalone JavaScript libraries.
    • Low-Code/No-Code Empowerment: Enable non-technical stakeholders (e.g., content creators, marketers) to manage rich-text content without requiring backend or frontend development expertise, particularly via EasyAdmin.
  • Use Cases:

    • Internal Tools: Employee portals, internal wikis, or documentation hubs where rich-text editing improves usability and reduces reliance on external tools like Confluence or Notion.
    • Customer-Facing Applications: Product descriptions, FAQs, or support articles where a lightweight, customizable editor reduces frontend overhead and improves content quality.
    • Data Portability: Export rich-text content as sanitized HTML or inline styles for use in emails, APIs, or other systems without external dependencies.
    • Multi-Language Support: Leverage Symfony’s translation features to localize Quill.js toolbars, placeholders, or modules for global applications.

When to Consider This Package

  • Adopt When:

    • Your Symfony application requires a lightweight, customizable WYSIWYG editor with minimal configuration overhead (e.g., no complex setup for basic use cases).
    • You are using Symfony UX/Stimulus and want native integration to avoid jQuery or standalone JavaScript solutions.
    • EasyAdmin is part of your stack, and you need to embed rich-text fields in CRUD interfaces (e.g., Post::new()->addField('content', QuillAdminField::new())).
    • You need inline styling for content that must render without Quill’s default CSS (e.g., for emails, RSS feeds, or APIs).
    • Your team lacks dedicated frontend expertise but requires extensible toolbars or custom modules (e.g., image galleries, mentions, or tables) that can be added via PHP.
    • You prioritize open-source and MIT-licensed solutions to avoid vendor lock-in or licensing costs.
    • Your application involves collaborative content creation (e.g., internal notes, feedback forms) where a lightweight editor improves usability.
  • Look Elsewhere If:

    • You need advanced collaboration features (e.g., real-time co-editing, version history, or comments) → Consider TinyMCE Cloud, CKEditor, or Google Docs API.
    • Your tech stack is not Symfony (e.g., Laravel, Django, or React-based) → Use Quill.js standalone or framework-specific wrappers (e.g., spatie/laravel-wysiwyg for Laravel).
    • You require offline or desktop applications → Evaluate ProseMirror, Tiptap, or CKEditor for more robust offline support.
    • Performance is critical, and the ~100KB JS/CSS footprint of Quill.js is prohibitive → Consider Markdown editors (e.g., tiptap) or lightweight alternatives like Showdown.js.
    • Security is a top priority, and raw HTML output requires strict sanitization beyond Symfony’s built-in filters → Implement additional sanitization (e.g., DOMPurify) or use a headless CMS.
    • You need enterprise-grade support (e.g., SLAs, dedicated customer service) → Proprietary editors like TinyMCE or Froala may be preferable.

How to Pitch It (Stakeholders)

For Executives:

*"This package allows us to embed a modern, lightweight WYSIWYG editor into our Symfony applications with minimal development effort, enabling faster content creation and reducing reliance on third-party SaaS tools. Here’s why it’s a strategic fit:

  • Accelerate Content Workflows: Replace textareas with a user-friendly editor for blogs, documentation, or admin panels (e.g., EasyAdmin), cutting content creation time by 50%.
  • Cost Savings: Avoid recurring subscriptions for proprietary editors (e.g., TinyMCE) by using open-source Quill.js, with no licensing fees.
  • Scalable for Internal and Customer Tools: Ideal for internal portals (e.g., employee knowledge bases) or customer-facing content (e.g., product descriptions), with zero frontend overhead.
  • Future-Proof: Built on Symfony UX, it integrates seamlessly with our existing Stimulus/Turbo stack, reducing technical debt.
  • Empower Non-Technical Teams: Content creators and marketers can manage rich-text content without backend changes, via EasyAdmin or custom forms. Example Use Case: Launch a new marketing site with rich-text fields in under 2 hours, or enable employees to update internal documentation without IT support. The ROI comes from reduced dev time, improved UX, and lower tooling costs."*

For Engineering Teams:

*"Why choose this package over alternatives?

  • Symfony-Native Integration: Uses Stimulus controllers (no jQuery or standalone JS), aligning with Symfony’s modern frontend architecture.
  • EasyAdmin-Ready: Plugs into CRUD fields with minimal configuration (e.g., QuillAdminField::new()), enabling rich-text editing in admin panels out-of-the-box.
  • Highly Customizable: Extend toolbars, add custom fields/modules (e.g., image galleries, mentions), or override Quill behavior via PHP/JS events—without forking the package.
  • Lightweight: ~100KB JS/CSS (vs. 500KB+ for TinyMCE), making it suitable for performance-sensitive applications.
  • Asset Flexibility: Works with AssetMapper (Symfony 6+) or Webpack Encore, with clear documentation for both setups.

Tradeoffs to Consider:

  • No Built-in Collaboration: Unlike TinyMCE or Google Docs, Quill.js lacks real-time co-editing. Use ProseMirror or Firebase for collaborative features.
  • HTML Sanitization Required: Raw output must be sanitized (use Symfony’s Censor filter or DOMPurify) to prevent XSS.
  • Template Wrapping Needed: For class-based styling, Twig templates require explicit HTML wrappers (e.g., <div class="ql-snow">).

Quick Start:

composer require ehyiah/ux-quill
# Add to a Symfony form:
use Ehyiah\QuillJsBundle\Form\QuillType;

public function buildForm(FormBuilderInterface $builder, array $options) {
    $builder->add('description', QuillType::class);
}
# Display in Twig:
{{ quill_content_styles() }}
<twig:QuillContent value="{{ post.description }}" />

Advanced Customization:

  • Add custom modules via PHP interfaces (e.g., QuillFieldModuleInterface).
  • Override Quill’s JavaScript behavior using Stimulus events (e.g., quill:connect).
  • Extend toolbars or themes by overriding default assets (CSS/JS).

Compatibility Notes:

  • Symfony 6+: Fully supported with AssetMapper or Webpack Encore.
  • EasyAdmin: Requires addAssetMapperEntries() configuration (documented workarounds available).
  • Live Components: Tested and compatible with Symfony UX Live Components (v3.0+)."*

For Product Managers:

*"This package addresses three key pain points in our product roadmap:

  1. Content Creation Bottlenecks: Non-technical teams (e.g., marketing, support) struggle with textareas or external tools. Quill.js provides a Symfony-native WYSIWYG that integrates into EasyAdmin, reducing onboarding time.
  2. Tech Stack Consistency: Avoids jQuery or standalone JS libraries, aligning with our Symfony UX/Turbo strategy. This reduces frontend complexity and maintenance costs.
  3. Feature Velocity: Enables quick iteration on rich-text features (e.g., blog posts, product descriptions) without licensing proprietary editors.

Prioritization Recommendation:

  • Short-Term: Use for EasyAdmin CRUD fields (e.g., Post.content) to improve admin usability.
  • Mid-Term: Extend to **customer-facing
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.
milito/query-filter
apiboxsym/user-bundle
apiboxsym/health-check-bundle
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours