You can connect any of your css and js files to MoonShine.
Global assets
If you need to publish assets globally for all pages, then you can add them to MoonShineServiceProvider
.
class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{ //... public function boot(): void { parent::boot(); moonShineAssets()->add([ �/css/style.css�, � /js/main.js�, ]); } //...}
Assets for a resource/page
Assets can be added for a resource or for a separate page, To do this, you need to specify the $assets
property.
class Post extends ModelResource{ protected array $assets = [ �/css/style.css�, '/js/main.js�, ]; //...}
Vite
You can also add your own Vite assets:
use Illuminate\Support\Facades\Vite; class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{ //... public function boot(): void { parent::boot(); moonShineAssets()->;add([ Vite::asset(�resources/js/app.js�) ]); } //...}
Configuration
You can configure the connection of assets in the configuration file config/moonshine.php
.
// ... return [ // ... 'assets' => [ 'js' => [ 'script_attributes' => [ 'defer', 'type' => 'module' ] ], 'css' => [ 'link_attributes' => [ 'rel' => 'stylesheet' ] ] ], // ...];
Directive
If you want to use MoonShine styles and scripts outside the admin panel, then you need to include the @moonShineAssets
directive.
<head> @moonShineAssets</head>