PHPackages                             storyblok/php-tiptap-extension - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. storyblok/php-tiptap-extension

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

storyblok/php-tiptap-extension
==============================

Tiptap extension to render Storyblok's RichText field

1.4.0(3mo ago)6106.3k↓15.4%4[3 PRs](https://github.com/storyblok/php-tiptap-extension/pulls)3MITPHPPHP &gt;=8.3CI passing

Since Mar 14Pushed 3mo ago7 watchersCompare

[ Source](https://github.com/storyblok/php-tiptap-extension)[ Packagist](https://packagist.org/packages/storyblok/php-tiptap-extension)[ RSS](/packages/storyblok-php-tiptap-extension/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (8)Dependencies (11)Versions (12)Used By (3)

 [![Storyblok PHP Tiptap Extension](assets/php-tiptap-extension-github-repository.png)](assets/php-tiptap-extension-github-repository.png)Storyblok PHP Tiptap Extension
==============================

[](#storyblok-php-tiptap-extension)

Co-created with [SensioLabs](https://sensiolabs.com/), the creators of Symfony.

This library provides **Tiptap extensions** for [Storyblok’s](https://www.storyblok.com/) **RichText field**, enabling seamless integration with the [Tiptap for PHP](https://github.com/ueberdosis/tiptap-php) library.

BranchPHPCode Coverage`main`[![PHP](https://github.com/storyblok/php-tiptap-extension/actions/workflows/php.yml/badge.svg)](https://github.com/storyblok/php-tiptap-extension/actions/workflows/php.yml)[![codecov](https://camo.githubusercontent.com/2e582accff7758bf58ca254d6792742316d351499e8f6ca5272fe5987727d33e/68747470733a2f2f636f6465636f762e696f2f67682f73746f7279626c6f6b2f7068702d7469707461702d657874656e73696f6e2f67726170682f62616467652e737667)](https://codecov.io/gh/storyblok/php-tiptap-extension)Installation
------------

[](#installation)

Ensure **Composer** is installed globally. If not, follow the [Composer installation guide](https://getcomposer.org/doc/00-intro.md).

### Install via Composer

[](#install-via-composer)

Run the following command in your project directory to install the latest stable version:

```
composer require storyblok/php-tiptap-extension
```

Usage
-----

[](#usage)

This package provides a **Storyblok extension** for **Tiptap for PHP**.

### Basic Example

[](#basic-example)

You need to create an `Editor` instance and add the **Storyblok extension**:

```
use Tiptap\Editor;
use Storyblok\Tiptap\Extension\Storyblok;

$editor = new Editor([
    'extensions' => [
        new Storyblok(),
    ],
]);

$editor->setContent(['type' => 'doc', 'content' => [['type' => 'paragraph', 'content' => [['type' => 'text', 'text' => 'Hello World']]]]);

echo $editor->getHTML();
```

Custom Block Rendering
----------------------

[](#custom-block-rendering)

You can customize how **Storyblok blocks** are rendered using the `blokOptions` configuration.

### Example: Rendering a Custom Heading Block

[](#example-rendering-a-custom-heading-block)

```
use Tiptap\Editor;
use Storyblok\Tiptap\Extension\Storyblok;

$editor = new Editor([
    'extensions' => [
        new Storyblok([
            'blokOptions' => [
                'renderer' => function(array $value): string {
                    if ($value['component'] === 'custom_block_heading') {
                        return '' . htmlspecialchars($value['text']) . '';
                    }

                    return '';
                },
            ]
        ]),
    ],
]);

$editor->setContent(['type' => 'doc', 'content' => [['type' => 'paragraph', 'content' => [['type' => 'text', 'text' => 'Hello World']]]]);

echo $editor->getHTML();
```

Disabling Specific Extensions
-----------------------------

[](#disabling-specific-extensions)

You can disable specific **Tiptap extensions** within Storyblok.

### Example: Overriding Extensions

[](#example-overriding-extensions)

```
use Tiptap\Editor;
use Storyblok\Tiptap\Extension\Storyblok;

$editor = new Editor([
    'extensions' => [
        new Storyblok([
            'override_extensions' => [
                'codeBlock' => new MyCustomCodeBlock(),
            ]
        ]),
    ],
]);

$editor->setContent(['type' => 'doc', 'content' => [['type' => 'paragraph', 'content' => [['type' => 'text', 'text' => 'Hello World']]]]);

echo $editor->getHTML();
```

For a complete list of enabled extensions by default, check out [`Storyblok\Tiptap\Extension\Storyblok`](src/Extension/Storyblok.php).

### Example: Disabling Extensions

[](#example-disabling-extensions)

```
use Tiptap\Editor;
use Storyblok\Tiptap\Extension\Storyblok;

$editor = new Editor([
    'extensions' => [
        new Storyblok([
            'disable_extensions' => [
                'codeBlock',
                'heading',
            ]
        ]),
    ],
]);

$editor->setContent(['type' => 'doc', 'content' => [['type' => 'paragraph', 'content' => [['type' => 'text', 'text' => 'Hello World']]]]);

echo $editor->getHTML();
```

License
-------

[](#license)

This library is licensed under the **MIT License**. See the full license in the [LICENSE](LICENSE) file.

Acknowledgments
---------------

[](#acknowledgments)

This library is built upon the **[Tiptap](https://tiptap.dev/) editor** and the official **[Tiptap for PHP](https://github.com/ueberdosis/tiptap-php/)** library.

Special thanks to **[SensioLabs](https://sensiolabs.com/)** for assisting with the initial implementation of the bundle.

### Additional Resources

[](#additional-resources)

- [Storyblok Documentation](https://www.storyblok.com/docs)
- [Tiptap Documentation](https://tiptap.dev/)
- [Tiptap for PHP](https://github.com/ueberdosis/tiptap-php)

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance78

Regular maintenance activity

Popularity40

Moderate usage in the ecosystem

Community23

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~44 days

Recently: every ~27 days

Total

8

Last Release

119d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5502146a107d9e193823fac44e6fb4ef7a8f89d1e36726e8d42211e27833887f?d=identicon)[delooks](/maintainers/delooks)

---

Top Contributors

[![edodusi](https://avatars.githubusercontent.com/u/2177962?v=4)](https://github.com/edodusi "edodusi (13 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (10 commits)")[![silasjoisten](https://avatars.githubusercontent.com/u/10114981?v=4)](https://github.com/silasjoisten "silasjoisten (8 commits)")[![RicLeP](https://avatars.githubusercontent.com/u/19726976?v=4)](https://github.com/RicLeP "RicLeP (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/storyblok-php-tiptap-extension/health.svg)

```
[![Health](https://phpackages.com/badges/storyblok-php-tiptap-extension/health.svg)](https://phpackages.com/packages/storyblok-php-tiptap-extension)
```

###  Alternatives

[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[laragraph/utils

Utilities for using GraphQL with Laravel

2113.8M7](/packages/laragraph-utils)[thenextweb/passgenerator

A Laravel package to create Apple Wallet (old Passbook) compatible tickets.

297435.6k](/packages/thenextweb-passgenerator)[firefly-iii/data-importer

Firefly III Data Import Tool.

7545.8k](/packages/firefly-iii-data-importer)[wyrihaximus/html-compress

Compress/minify your HTML

841.6M31](/packages/wyrihaximus-html-compress)[keepsuit/laravel-temporal

Laravel temporal.io

4875.0k](/packages/keepsuit-laravel-temporal)

PHPackages © 2026

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