genealabs/nova-gutenberg

Implementation of the Gutenberg editor as a Laravel Nova Field based on Laraberg.


Keywords
nova, laravel, laraberg
License
MIT

Documentation

Nova Gutenberg

This package has been archived in favor of using Nova's inbuilt Trix editor. Integrating Gutenberg into Laravel/Nova properly has always been riddled with issues, and it's probably better to move on to something better.

Implementation of the Gutenberg editor as a Laravel Nova Field based on Laraberg.

Gutenberg For Laravel Nova masthead image.

Requirements

  • Laravel Nova
  • PHP 7.1.0+

Implemented Functionality

  • Editor field in form.
  • Field on index listing.
  • Field on resource display.
  • Image upload functionality.

Limitations

  1. Currently you can only have one Gutenberg field on a given page, due to how the Gutenberg library is implemented. Efforts are being made to address this upstream, but it has yet to be determined if that is possible.
  2. The editor UI still allows and prompts for drag-and-drop functionality. Unfortunately that is currently not functional, and the Media Library button must be used instead.

Installation

  1. Install the package:
composer require genealabs/nova-gutenberg
  1. Add the following to your scripts section in composer.json:
        "post-package-update": [
          "@php artisan vendor:publish --provider='VanOns\\Laraberg\\LarabergServiceProvider' --tag='public' --force",
          "@php artisan vendor:publish --tag=lfm_config",
          "@php artisan vendor:publish --tag=lfm_public"
      ]
  1. Run composer update.

Usage

use GeneaLabs\NovaGutenberg\Gutenberg;

class BlogPost extends Resource
{
    // ...

    public function fields(Request $request) : array
    {
        return [
            // ...
            Gutenberg::make("Content"),
            // ...
        ];
    }

    // ...
}

Preview

Screen Shot 2019-05-22 at 12 30 21 PM