PHPackages                             bolt/redactor - 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. bolt/redactor

ActiveBolt-extension[Templating &amp; Views](/categories/templating)

bolt/redactor
=============

📝 Bolt Extension to add the Redactor FieldType

3.0.0(7mo ago)11141.5k↓52.5%121MITJavaScriptPHP &gt;=8.2CI passing

Since Jul 24Pushed 7mo ago10 watchersCompare

[ Source](https://github.com/bolt/redactor)[ Packagist](https://packagist.org/packages/bolt/redactor)[ RSS](/packages/bolt-redactor/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (10)Dependencies (6)Versions (50)Used By (1)

📝 Bolt Redactor Extension
=========================

[](#-bolt-redactor-extension)

This extension provides a "Redactor" field type, which is a sophisticated, lightweight and elegant WYSIWYG editor component for [Bolt](https://boltcms.io). The editor itself is developed by [Imperavi](https://imperavi.com/redactor/), and is licensed for usage in Bolt.

This extension allows you to add fields of `type: redactor` in your ContentTypes, as defined in `contenttypes.yaml`, like any other Field type.

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

[](#installation)

Note: Installation is not required if you've installed the default Bolt project. In that case it's already present. If you've installed Bolt through different means, you'll need to run the command below:

```
composer require bolt/redactor
```

After installation, you can add it to any ContentType in your `contenttypes.yaml`, like any other field. For example:

```
blogposts:
    name: Blogposts
    singular_name: Blogpost
    fields:
        title:
            type: text
        slug:
            type: slug
            uses: title
        content:
            type: redactor
```

The result will be like this:

[![](https://user-images.githubusercontent.com/1833361/90637112-dbf59f80-e22b-11ea-8bfd-574b72a79fdc.png)](https://user-images.githubusercontent.com/1833361/90637112-dbf59f80-e22b-11ea-8bfd-574b72a79fdc.png)

You can configure the editor in `config/extensions/bolt-redactor.yaml`. This configuration affects all the instances of the Redactor field that you've configured in your ContentTypes. The default configuration looks like this:

```
default:
  buttons: [ bold, italic, format, lists, link, html, image ]
  plugins: [ fullscreen, table, inlinestyle, video, widget ]
  source: true

plugins:
  ~
```

Configuring the buttons
-----------------------

[](#configuring-the-buttons)

Bolt's version of Redactor ships with all the official plugins and options. you can add or remove buttons by configuring them in the `buttons:` and `plugins:`parameters. Check the official Redactor documentation for [all available buttons](https://imperavi.com/redactor/examples/buttons/change-buttons-in-the-toolbar/). Note that some buttons might require you to enable the corresponding plugin as well. See here for a list of [the available plugins](https://imperavi.com/redactor/plugins/).

Settings
--------

[](#settings)

Where applicable, you can add extra settings under the `default:` key in the `bolt-redactor.yaml` configuration. See the documentation for available settings.

Note that this documentation uses Javascript, whilst Bolt's configuration uses Yaml. For example, the documentation for '[Paste](https://imperavi.com/redactor/docs/settings/paste/)' has this example:

```
$R('#content', {
        pastePlainText: true
});
```

In `bolt-redactor.yaml` you can add this as:

```
default:
  buttons: [ …]
  plugins: [ … ]
  pastePlainText: true
```

Adding custom plugins
---------------------

[](#adding-custom-plugins)

If you've written your own plugin for Redactor according to the documentation [for Creating Plugins](https://imperavi.com/redactor/docs/how-to/create-a-plugin/), you can add it to the editor in Bolt, by placing it in `/public/assets/redactor/plugins`. Then, add it to the `bolt-redactor.yaml` configuration:

```
default:
  buttons: [ … ]
  plugins: [ … ]

plugins:
  myplugin: [ 'myplugin/myplugin.js', 'myplugin/myplugin.css' ]
```

---

The part below is only for *developing* the extension. Not required for general usage of the extension in your Bolt Project

Running PHPStan and Easy Codings Standard
-----------------------------------------

[](#running-phpstan-and-easy-codings-standard)

First, make sure dependencies are installed:

```
COMPOSER_MEMORY_LIMIT=-1 composer update
```

And then run ECS:

```
vendor/bin/ecs check src --fix
```

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance64

Regular maintenance activity

Popularity41

Moderate usage in the ecosystem

Community26

Small or concentrated contributor base

Maturity81

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 65.9% 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 ~40 days

Recently: every ~274 days

Total

49

Last Release

235d ago

Major Versions

0.0.1 → 1.0.02020-08-05

1.1.0 → 2.0.02021-08-19

2.1.5 → 3.0.02025-12-01

PHP version history (2 changes)0.0.1PHP &gt;=7.2.9

3.0.0PHP &gt;=8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1835343?v=4)[Bob van de Vijver](/maintainers/bobvandevijver)[@bobvandevijver](https://github.com/bobvandevijver)

![](https://avatars.githubusercontent.com/u/3901745?v=4)[Tobias Feijten](/maintainers/tobias-93)[@tobias-93](https://github.com/tobias-93)

![](https://avatars.githubusercontent.com/u/1833361?v=4)[Bob den Otter](/maintainers/bobdenotter)[@bobdenotter](https://github.com/bobdenotter)

---

Top Contributors

[![bobdenotter](https://avatars.githubusercontent.com/u/1833361?v=4)](https://github.com/bobdenotter "bobdenotter (85 commits)")[![bobvandevijver](https://avatars.githubusercontent.com/u/1835343?v=4)](https://github.com/bobvandevijver "bobvandevijver (25 commits)")[![I-Valchev](https://avatars.githubusercontent.com/u/7093518?v=4)](https://github.com/I-Valchev "I-Valchev (14 commits)")[![LordSimal](https://avatars.githubusercontent.com/u/9105243?v=4)](https://github.com/LordSimal "LordSimal (1 commits)")[![Spomsoree](https://avatars.githubusercontent.com/u/14187981?v=4)](https://github.com/Spomsoree "Spomsoree (1 commits)")[![Thibault-MTZ](https://avatars.githubusercontent.com/u/12842485?v=4)](https://github.com/Thibault-MTZ "Thibault-MTZ (1 commits)")[![Filoz](https://avatars.githubusercontent.com/u/5341996?v=4)](https://github.com/Filoz "Filoz (1 commits)")[![kouz75](https://avatars.githubusercontent.com/u/6285221?v=4)](https://github.com/kouz75 "kouz75 (1 commits)")

###  Code Quality

Static AnalysisPHPStan, Rector

Code StyleECS

Type Coverage Yes

### Embed Badge

![Health badge](/badges/bolt-redactor/health.svg)

```
[![Health](https://phpackages.com/badges/bolt-redactor/health.svg)](https://phpackages.com/packages/bolt-redactor)
```

###  Alternatives

[limenius/react-bundle

Client and Server-side react rendering in a Symfony Bundle

3851.2M](/packages/limenius-react-bundle)[webkinder/sproutset

A Composer package for handling responsive images in Roots Bedrock + Sage + Blade projects.

282.2k](/packages/webkinder-sproutset)

PHPackages © 2026

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