Blueprint Nova Addon
A Blueprint addon which generates Nova resources
#Blueprint Nova Addon
:mega: Shoutout to Jason McCreary whose Blueprint package lays the groundwork for this small addon. Thank you Jason :raised_hands:
Installing this addon will allow you to generate your Nova resources with the php artisan blueprint:build command.
#Installation
You can install this package and Blueprint via composer:
composer require --dev naoray/blueprint-nova-addon
:warning: You need to have laravel nova installed in order for the resource generation to take place!
#Usage
Refer to Blueprint's Basic Usage to get started. Afterwards you can run the blueprint:build command to generate Nova resources automatically. To get an idea of how easy it is you can use the example draft.yaml file below.
# draft.yaml models: Post: author_id: id foreign:users title: string:400 content: longtext published_at: nullable timestamp relationships: HasMany: Comment Comment: post_id: id foreign content: longtext published_at: nullable timestamp
From these 13 lines of YAML, this addon will generate 2 Nova resources which are pre-filled with 14 fields.
// App/Nova/Comment.php public function fields(Request $request) { return [ ID::make()->sortable(), Textarea::make('Content') ->rules('required', 'string'), DateTime::make('Published at'), BelongsTo::make('Post'), DateTime::make('Created at'), DateTime::make('Updated at'), ]; } // App/Nova/Post.php public function fields(Request $request) { return [ ID::make()->sortable(), Text::make('Title') ->rules('required', 'string', 'max:400'), Textarea::make('Content') ->rules('required', 'string'), DateTime::make('Published at'), BelongsTo::make('Author', 'author', User::class), HasMany::make('Comments'), DateTime::make('Created at'), DateTime::make('Updated at'), ]; }
#Configuration
You may publish the configuration with the following command:
php artisan vendor:publish --tag=nova_blueprint
#Timestamp fields
To disable the generation of timestamp fields for all Nova resources set this option to false.
#Testing
composer test
#Changelog
Please see CHANGELOG for more information what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security
If you discover any security related issues, please email krishan.koenig@gmail.com instead of using the issue tracker.
#Credits
#License
The MIT License (MIT). Please see License File for more information.