van-ons / laraberg-nova
A Laravel Nova field.
Requires
- php: >=7.1.0
- laravel/nova: *
- van-ons/laraberg: v2.0.0-rc12
- dev-main
- v1.0.0-rc6
- v1.0.0-rc5
- v1.0.0-rc4
- v1.0.0-rc3
- v1.0.0-rc2
- v1.0.0-rc1
- dev-dependabot/npm_and_yarn/vue-template-compiler-2.7.16
- dev-dependabot/composer/phpstan/phpstan-tw-2.1
- dev-dependabot/npm_and_yarn/resolve-url-loader-5.0.0
- dev-dependabot/npm_and_yarn/sass-1.85.1
- dev-dependabot/npm_and_yarn/laravel-mix-6.0.49
- dev-dependabot/composer/laravel/nova-tw-5.2
- dev-dependabot/npm_and_yarn/cross-env-7.0.3
- dev-chore/update-package
This package is auto-updated.
Last update: 2025-03-04 11:13:59 UTC
README
Laraberg Nova
A Nova field for Laraberg.
Quick start
Requirements
Dependency | Minimum version |
---|---|
PHP | 8.1 |
Laravel Nova | 4.35 |
Installation
Install via Composer:
composer require van-ons/laraberg-nova
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') }}">
Usage
Simply register the field in your Resource:
LarabergNova::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\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use VanOns\Laraberg\Traits\RendersContent; class Post extends Model { use HasFactory, RendersContent; protected $contentColumn = 'content'; ... }
Call the render method on your model in a template:
{!! $model->render() !!}
Options
The field has a few options you can configure.
Height
You can customize the height of the editor:
LarabergNova::make(__('Content'), 'content')->height(600)
Attachments
You can enable uploading attachments:
LarabergNova::make(__('Content'), 'content')->withFiles('public')
You will need to add the following migration to make this work:
Schema::create('laraberg_nova_pending_attachments', function (Blueprint $table) { $table->increments('id'); $table->string('draft_id')->index(); $table->string('attachment'); $table->string('disk'); $table->timestamps(); }); Schema::create('laraberg_nova_attachments', function (Blueprint $table) { $table->increments('id'); $table->string('attachable_type'); $table->unsignedInteger('attachable_id'); $table->string('attachment'); $table->string('disk'); $table->string('url')->index(); $table->timestamps(); $table->index(['attachable_type', 'attachable_id']); });
Contributing
Please see contributing for more information about how you can contribute.
Changelog
Please see changelog for more information about what has changed recently.
Upgrading
Please see upgrading for more information about how to upgrade.
Security
Please see security for more information about how we deal with security.
Credits
We would like to thank the following contributors for their contributions to this project:
License
The scripts and documentation in this project are released under the MIT License.