banulakwin / filament-metadata
Filament admin panel for banulakwin/laravel-metadata entries.
1.0.0
2026-05-17 18:58 UTC
Requires
- php: ^8.2
- banulakwin/laravel-metadata: ^1.0
- filament/filament: ^5.0
- illuminate/contracts: ^11.0|^12.0|^13.0
- illuminate/database: ^11.0|^12.0|^13.0
- illuminate/support: ^11.0|^12.0|^13.0
Requires (Dev)
- laravel/pint: ^1.21
- orchestra/testbench: ^9.0|^10.0|^11.0
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0|^12.0
README
Filament admin panel for banulakwin/laravel-metadata entries. One default group (e.g. site) is used so the UI stays key/value oriented.
Requirements
- PHP
^8.2 - Laravel
^11.0|^12.0|^13.0 - Filament
^5.0 banulakwin/laravel-metadata^1.0
Installation
composer require banulakwin/filament-metadata
Register the plugin on your panel:
use Banulakwin\FilamentMetadata\FilamentMetadataPlugin; $panel->plugins([ FilamentMetadataPlugin::make(), ]);
Optional config publish:
php artisan vendor:publish --tag=filament-metadata-config
Features
- Metadata resource scoped to configurable default group (
site). - Type-aware value editing:
text,textarea,richtext,image,toggle,json. - Rich editor with file attachments under configurable directory.
- Image upload with aspect ratio, editor, and auto-crop support.
- Humanized key labels on list page.
- Global search with key, value, and updated details.
- Create and delete disabled (keys are defined in code/config).
Configuration
Publish the config file to customize defaults:
php artisan vendor:publish --tag=filament-metadata-config
Key options:
| Key | Default | Description |
|---|---|---|
default_group |
site |
Metadata group to scope the UI |
navigation.group |
Settings |
Navigation group label |
navigation.label |
Metadata |
Navigation item label |
rich_editor_attachments_directory |
metadata/content |
Rich editor attachment path |
image_upload_default_directory |
metadata/images |
Default image upload path |
Runtime assumptions
- Host app uses
banulakwin/laravel-metadata. - Metadata keys are defined in
config/meta.phporapp/Cms/Metadata/*.php. - Only the value is editable from the panel; keys are read-only.
Testing
composer test # Run PHPUnit composer pint # Fix code style composer phpstan # Static analysis composer quality # Run all (pint + phpstan + test)
Changelog
See CHANGELOG.md for details.
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature) - Run
composer qualityto ensure tests and style pass - Commit and push
- Open a pull request
Package layout (reference)
src/
FilamentMetadataPlugin.php
FilamentMetadataServiceProvider.php
Resources/MetadataEntries/
MetadataEntryResource.php
Pages/
ListMetadataEntries.php
EditMetadataEntry.php
ViewMetadataEntry.php
Schemas/
MetadataEntryForm.php
MetadataEntryInfolist.php
Tables/
MetadataEntryTable.php
Schemas/
MetadataDynamicValueFields.php
MetadataEntryValueEditor.php
Support/
MetadataKeyLabel.php
MetadataValueHydrator.php
config/
filament-metadata.php
License
MIT — see LICENSE for details.