PHPackages                             nakipelo/orchid-ckeditor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Templating &amp; Views](/categories/templating)
4. /
5. nakipelo/orchid-ckeditor

ActiveLibrary[Templating &amp; Views](/categories/templating)

nakipelo/orchid-ckeditor
========================

CKEditor editor for Laravel Orchid

5.1.7(7mo ago)69.1k↓50%8MITPHPPHP ^8.1

Since Aug 25Pushed 7mo ago1 watchersCompare

[ Source](https://github.com/nakipelo/orchid-ckeditor)[ Packagist](https://packagist.org/packages/nakipelo/orchid-ckeditor)[ RSS](/packages/nakipelo-orchid-ckeditor/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (21)Used By (0)

CKEditor for Laravel Orchid
===========================

[](#ckeditor-for-laravel-orchid)

[![Latest Version on Packagist](https://camo.githubusercontent.com/7d508881839af92f21bd2fb288300a0e234242500c06ce1bf83c7c38dc4c0d08/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e616b6970656c6f2f6f72636869642d636b656469746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nakipelo/orchid-ckeditor)[![Total Downloads](https://camo.githubusercontent.com/1afeb11985423b293288cb55b8e1401555d5759baa8c8a72a188aa9b61fb7600/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e616b6970656c6f2f6f72636869642d636b656469746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nakipelo/orchid-ckeditor)[![License](https://camo.githubusercontent.com/45374b41f24c552a131e2ae33bae6e1cd4fe44158c99f9cf6246cd8dba21f225/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e616b6970656c6f2f6f72636869642d636b656469746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nakipelo/orchid-ckeditor)

CKEditor 4 integration with Laravel Orchid Platform for creating rich text editors in the admin panel.

> **Important**: This package uses CKEditor 4.22.1, which is the last free version. All subsequent versions (4.23+) are LTS versions that require a commercial license purchase.

Features
--------

[](#features)

- ✅ Full integration with Laravel Orchid Platform
- ✅ CKEditor 4.22.1 (last free version) with file upload support
- ✅ Laravel File Manager integration
- ✅ Stimulus controller for modern JavaScript
- ✅ Customizable editor options
- ✅ CSRF token support
- ✅ Automatic asset publishing

Requirements
------------

[](#requirements)

- PHP ^8.1
- Laravel Orchid ^14.0
- Laravel File Manager (optional)

Installation
------------

[](#installation)

### 1. Install via Composer

[](#1-install-via-composer)

```
composer require nakipelo/orchid-ckeditor
```

### 2. Publish Assets

[](#2-publish-assets)

```
php artisan vendor:publish --provider="Nakipelo\Orchid\CKEditor\CKEditorServiceProvider"
```

### 3. Publish Configuration (optional)

[](#3-publish-configuration-optional)

```
php artisan vendor:publish --tag=ckeditor-config
```

Usage
-----

[](#usage)

### Basic Usage

[](#basic-usage)

```
use Nakipelo\Orchid\CKEditor\CKEditor;

// In your Screen class
public function fields(): array
{
    return [
        CKEditor::make('content')
            ->title('Content')
            ->required(),
    ];
}
```

### Advanced Usage with Custom Options

[](#advanced-usage-with-custom-options)

```
use Nakipelo\Orchid\CKEditor\CKEditor;

public function fields(): array
{
    return [
        CKEditor::make('content')
            ->title('Content')
            ->setOptions([
                'toolbar' => [
                    ['Bold', 'Italic', 'Underline'],
                    ['NumberedList', 'BulletedList'],
                    ['Link', 'Unlink'],
                    ['Image', 'Table'],
                ],
                'height' => 300,
            ])
            ->mergeOptions([
                'filebrowserImageBrowseUrl' => '/filemanager?type=Images',
                'filebrowserImageUploadUrl' => '/filemanager/upload?type=Images&_token=' . csrf_token(),
            ]),
    ];
}
```

Configuration
-------------

[](#configuration)

After publishing the configuration, the `config/ckeditor.php` file will contain:

```
return [
    /**
     * URL for loading CKEditor
     */
    'editorUrl' => '//cdn.ckeditor.com/4.22.1/full/ckeditor.js',

    /**
     * Default editor options
     */
    'options' => [
        'filebrowserImageBrowseUrl' => '/filemanager?type=Images',
        'filebrowserImageUploadUrl' => '/filemanager/upload?type=Images&_token=',
        'filebrowserBrowseUrl' => '/filemanager?type=Files',
        'filebrowserUploadUrl' => '/filemanager/upload?type=Files&_token=',
    ]
];
```

### File Manager Setup

[](#file-manager-setup)

For file management, it's recommended to use [Laravel File Manager](https://github.com/UniSharp/laravel-filemanager):

```
composer require unisharp/laravel-filemanager:^2.2
```

Then add routes to `routes/web.php`:

```
Route::group(['prefix' => 'filemanager', 'middleware' => ['web', 'auth']], function () {
    \UniSharp\LaravelFilemanager\Lfm::routes();
});
```

API
---

[](#api)

### CKEditor Class

[](#ckeditor-class)

#### Methods

[](#methods)

- `make(?string $name = null): static` - Create a new instance
- `setOptions(array $options): CKEditor` - Set editor options
- `mergeOptions(array $options): CKEditor` - Merge with existing options

#### Options Examples

[](#options-examples)

```
$editor = CKEditor::make('content')
    ->setOptions([
        'toolbar' => [
            ['Bold', 'Italic', 'Underline'],
            ['NumberedList', 'BulletedList'],
            ['Link', 'Unlink'],
            ['Image', 'Table'],
            ['Source'],
        ],
        'height' => 400,
        'width' => '100%',
        'language' => 'en',
        'uiColor' => '#f0f0f0',
        'removeDialogTabs' => 'image:advanced;link:advanced',
    ]);
```

JavaScript API
--------------

[](#javascript-api)

The package uses a Stimulus controller `ckeditor` with the following capabilities:

### Data Attributes

[](#data-attributes)

- `data-controller="ckeditor"` - Activate controller
- `data-ckeditor-id-value` - Field ID
- `data-ckeditor-options-value` - JSON editor options
- `data-ckeditor-editor-url-value` - URL for loading CKEditor

### Events

[](#events)

The controller automatically handles:

- Editor content changes
- CSRF tokens for file uploads
- Source/visual mode switching
- Fullscreen mode closing on navigation

Development
-----------

[](#development)

### Install Dependencies

[](#install-dependencies)

```
npm install
```

### Build Assets

[](#build-assets)

```
npm run dev
# or for production
npm run production
```

### Project Structure

[](#project-structure)

```
src/
├── CKEditor.php              # Main field class
└── CKEditorServiceProvider.php # Service Provider

resources/js/
├── ckeditor.js               # Stimulus entry point
└── ckeditor_controller.js    # Stimulus controller

views/
└── field.blade.php           # Blade field template

config/
└── config.php                # Default configuration

```

License
-------

[](#license)

MIT License. See the [LICENSE](LICENSE) file for details.

Author
------

[](#author)

**Egor Gruzdev**

- Email:

Support
-------

[](#support)

If you have questions or suggestions, please create an [Issue](https://github.com/nakipelo/orchid-ckeditor/issues) in the project repository.

Changelog
---------

[](#changelog)

See [CHANGELOG.md](CHANGELOG.md) for a list of changes.

---

**Note**: This package uses CKEditor 4.22.1, which is the last free version. All subsequent versions (4.23+) are LTS versions that require a commercial license purchase. For CKEditor 5 usage, consider other solutions or create a fork with updated integration.

Русская Документация
--------------------

[](#русская-документация)

- [README на русском](README.ru.md)
- [Changelog на русском](CHANGELOG.ru.md)

###  Health Score

48

—

FairBetter than 95% of packages

Maintenance64

Regular maintenance activity

Popularity32

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 94.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~83 days

Total

19

Last Release

235d ago

Major Versions

0.0.4 → 1.0.02021-10-24

1.0.1 → 2.0.12023-02-19

2.0.2 → 3.0.02023-02-19

3.0.0 → 4.0.02023-02-23

4.0.0 → 5.0.02023-05-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/fa409df9a204429e6f7bb8a0f2baf6516891c903be4d176b463bc79453a1b555?d=identicon)[EgorGruzdev](/maintainers/EgorGruzdev)

---

Top Contributors

[![EgorGruzdev](https://avatars.githubusercontent.com/u/930669?v=4)](https://github.com/EgorGruzdev "EgorGruzdev (16 commits)")[![edwinvanegmond](https://avatars.githubusercontent.com/u/3830995?v=4)](https://github.com/edwinvanegmond "edwinvanegmond (1 commits)")

### Embed Badge

![Health badge](/badges/nakipelo-orchid-ckeditor/health.svg)

```
[![Health](https://phpackages.com/badges/nakipelo-orchid-ckeditor/health.svg)](https://phpackages.com/packages/nakipelo-orchid-ckeditor)
```

###  Alternatives

[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[whitecube/nova-flexible-content

Flexible Content &amp; Repeater Fields for Laravel Nova.

8053.0M25](/packages/whitecube-nova-flexible-content)[mopa/bootstrap-bundle

Easy integration of twitters bootstrap into symfony2

7042.9M33](/packages/mopa-bootstrap-bundle)[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3871.2M](/packages/limenius-react-bundle)[nicmart/string-template

StringTemplate is a very simple string template engine for php. I've written it to have a thing like sprintf, but with named and nested substutions.

2101.7M30](/packages/nicmart-string-template)[symfony/ux-icons

Renders local and remote SVG icons in your Twig templates.

555.8M69](/packages/symfony-ux-icons)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
