A nova field for Laraberg
php: >=8.0
laravel/nova: ^4.0
Install via composer
composer require jangvel/nova-gutenberg
Publish Laraberg files
php artisan vendor:publish --provider="VanOns\Laraberg\LarabergServiceProvider"
Laraberg provides a CSS file that should be present on the page you want to render content on:
<link rel="stylesheet" href="{{ asset('vendor/laraberg/css/laraberg.css') }}">
Simply register the field in your Resource
use Jangvel\NovaGutenberg\NovaGutenberg;
public function fields(Request $request)
{
return [
NovaGutenberg::make(__('Content'), 'content'),
];
}
Add the RendersContent
trait to your model. And optionally define the $contentColumn
property to point to the column that holds your Laraberg content, this defaults to content
.
use Illuminate\Database\Eloquent\Model;
use VanOns\Laraberg\Traits\RendersContent;
class Post extends Model
{
use RendersContent;
protected $contentColumn = 'content';
...
}
Call the render method on your model in a template.
{!! $model->render() !!}
The field has a few options you can configure.
You can customize the height of the editor.
NovaGutenberg::make(__('Content'), 'content')->height(600)