PHPackages                             fuelviews/laravel-sabhero-articles - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. fuelviews/laravel-sabhero-articles

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

fuelviews/laravel-sabhero-articles
==================================

SAB Hero Articles Package

v2.0.4(5mo ago)05811[2 PRs](https://github.com/fuelviews/laravel-sabhero-articles/pulls)MITPHPPHP ^8.3CI passing

Since Mar 4Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/fuelviews/laravel-sabhero-articles)[ Packagist](https://packagist.org/packages/fuelviews/laravel-sabhero-articles)[ Docs](https://github.com/fuelviews/laravel-sabhero-articles)[ RSS](/packages/fuelviews-laravel-sabhero-articles/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (17)Versions (30)Used By (0)

SAB Hero Articles Package
=========================

[](#sab-hero-articles-package)

[![Latest Version on Packagist](https://camo.githubusercontent.com/2cf81ef205f3f696148609c6a66b765bc0592b9e291cf78421b77db479c39a3a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6675656c76696577732f6c61726176656c2d7361626865726f2d61727469636c65732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fuelviews/laravel-sabhero-articles)[![Total Downloads](https://camo.githubusercontent.com/74f5cf1b82de8e1de9ea3e4ae7c73dc2b1ac8ed26d0f5b67af370dc4a5e95b85/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6675656c76696577732f6c61726176656c2d7361626865726f2d61727469636c65732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/fuelviews/laravel-sabhero-articles)

A full-featured article management solution for Laravel applications with Filament admin panel integration. This package provides a complete article publishing platform with advanced features and an intuitive admin interface.

Features
--------

[](#features)

### Content Management

[](#content-management)

- **Complete Article Management**: Posts, categories, tags, and authors with full CRUD operations
- **Scheduled Publishing**: Schedule posts to be published automatically via queue jobs
- **Advanced Markdown Editor**: Rich markdown editing with file attachments and preview
- **Media Management**: Image uploads with responsive images, cloud storage support, and Spatie Media Library integration
- **Author System**: Full author profiles with avatars, bios, social links, and public author pages
- **Categories &amp; Tags**: Organize content with many-to-many relationships
- **Post Status**: Draft, scheduled, and published states with automatic status transitions

### Admin Panel (Filament)

[](#admin-panel-filament)

- **Filament Integration**: Full admin panel with resources for posts, categories, tags, pages, and users
- **Import/Export**: Export posts as CSV or production-ready migrations, import from CSV with images
- **Bulk Operations**: Delete, export, and manage multiple posts at once
- **Post Replication**: Duplicate posts with all media, categories, and tags
- **Advanced Filtering**: Filter posts by author, status, and dates
- **Charts &amp; Analytics**: Publication statistics widget
- **Search**: Real-time post search in admin panel

### Frontend Features

[](#frontend-features)

- **Blade Components**: Ready-to-use UI components including cards, feature cards, breadcrumbs, and headers
- **Search Autocomplete**: Real-time Livewire search with keyboard navigation
- **SEO Optimization**: Built-in SEO metadata, Open Graph, and Twitter Card support
- **RSS Feed**: Automatic feed generation at `/articles/rss` with customizable settings
- **Breadcrumb Navigation**: Automatic breadcrumb generation with diglactic/laravel-breadcrumbs
- **Tailwind Pagination**: Custom pagination views styled for Tailwind CSS
- **Responsive Images**: Automatic srcset generation for all images
- **Related Posts**: Automatic related post suggestions based on categories

### Developer Features

[](#developer-features)

- **Advanced Markdown Rendering**: Table of contents, heading permalinks, external link styling, task lists, footnotes, embeds (YouTube, Twitter, GitHub)
- **Video/Social Embeds**: Automatic embedding of videos and social media content
- **Route Model Binding**: Slug-based URLs with eager loading
- **Events**: `ArticlePublished` event for custom integrations
- **Queue Jobs**: `PostScheduleJob` for automatic publishing
- **Upgrade Command**: `sabhero-articles:upgrade-v2` for seamless v1→v2 migrations
- **Cloud Storage**: Full support for S3, DigitalOcean Spaces, and other storage providers
- **Configurable**: Table prefixes, route prefixes, middleware, and more

Installation
------------

[](#installation)

### Prerequisites

[](#prerequisites)

This package requires Filament. If your project doesn't have Filament yet:

```
composer require filament/filament:"^3.3" -W
php artisan filament:install --panels
```

### Create a Filament User

[](#create-a-filament-user)

```
php artisan make:filament-user
```

### Install the SAB Hero Articles Package

[](#install-the-sab-hero-articles-package)

```
composer require fuelviews/laravel-sabhero-articles
```

Configuration
-------------

[](#configuration)

### 1. Publish Configuration Files

[](#1-publish-configuration-files)

```
php artisan vendor:publish --tag="sabhero-articles-config"
```

The configuration file (`config/sabhero-articles.php`) allows you to customize:

- **Table Prefixes**: Customize database table naming (default: `articles_`)
- **Route Configuration**: Set route prefix (default: `/articles`) and middleware (default: `['web']`)
- **User Model**: Configure which user model to use and column mappings
- **Panel Access**: Set allowed email domains for Filament panel access
- **Media Storage**: Configure which disk to use for media files (supports local, S3, etc.)
- **Heading Permalinks**: Customize CSS classes for markdown heading links

Example configuration:

```
return [
    'tables' => [
        'prefix' => 'articles_',
    ],
    'route' => [
        'prefix' => 'articles',
        'middleware' => ['web'],
    ],
    'user' => [
        'model' => User::class,
        'foreign_key' => 'user_id',
        'columns' => [
            'name' => 'name',
            'slug' => 'slug',
        ],
        'allowed_domains' => [
            '@fuelviews.com', // Domains allowed to access Filament panel
        ],
    ],
    'heading_permalink' => [
        'html_class' => 'scroll-mt-40',
    ],
    'media' => [
        'disk' => 'public', // or 's3', 'digitalocean', etc.
    ],
];
```

### 2. Publish Migrations

[](#2-publish-migrations)

```
php artisan vendor:publish --tag="sabhero-articles-migrations"
```

### 3. Run Migrations

[](#3-run-migrations)

```
php artisan migrate
```

This creates the following tables:

- `articles_posts` - Blog posts
- `articles_categories` - Post categories
- `articles_tags` - Post tags
- `articles_category_articles_post` - Category-post pivot
- `articles_post_articles_tag` - Post-tag pivot
- `pages` - SEO page metadata
- `media` - Spatie Media Library (images)

### 4. Publish Seeders

[](#4-publish-seeders)

```
php artisan vendor:publish --tag="sabhero-articles-seeders"
```

### 5. Configure Page Seeder

[](#5-configure-page-seeder)

Fill pages data in `database/seeders/PageTableSeeder.php` with your application's pages:

```
use Fuelviews\SabHeroArticles\Models\Page;

public function run(): void
{
    $pages = [
        [
            'title' => 'Home',
            'route' => 'home', // Laravel route name, not URL slug
            'description' => 'Welcome to our home page',
        ],
        [
            'title' => 'About Us',
            'route' => 'about',
            'description' => 'Learn more about our company',
        ],
        [
            'title' => 'Contact',
            'route' => 'contact',
            'description' => 'Get in touch with us',
        ],
        // Add more pages...
    ];

    foreach ($pages as $pageData) {
        $page = Page::updateOrCreate(
            ['route' => $pageData['route']],
            $pageData
        );

        // Optional: Attach feature image to page
        // if (isset($pageData['image_path']) && file_exists($pageData['image_path'])) {
        //     $page->addMedia($pageData['image_path'])
        //         ->toMediaCollection('page_feature_image');
        // }
    }
}
```

**Note:** Pages support feature images via the `page_feature_image` media collection. You can attach images programmatically in the seeder (as shown in the commented code) or add them later through the Filament admin panel.

### 6. Run Seeders

[](#6-run-seeders)

```
php artisan db:seed --class=PageTableSeeder
```

### 7. Configure Storage (For Media Uploads)

[](#7-configure-storage-for-media-uploads)

Link public storage:

```
php artisan storage:link
```

For cloud storage (S3, etc.), configure your `.env` for AWS credentials:

```
AWS_ACCESS_KEY_ID=your-key
AWS_SECRET_ACCESS_KEY=your-secret
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=your-bucket
```

Then update `config/sabhero-articles.php`:

```
'media' => [
    'disk' => 's3', // or 'digitalocean', etc.
],
```

Integration
-----------

[](#integration)

### 1. Attach to Filament Panel

[](#1-attach-to-filament-panel)

Add the SAB Hero Articles plugin to your Filament panel provider:

```
use Fuelviews\SabHeroArticles\Facades\SabHeroArticles;

public function panel(Panel $panel): Panel
{
    return $panel
        ->sidebarCollapsibleOnDesktop() // Optional: Enable collapsible sidebar on desktop
        ->plugins([
            SabHeroArticles::make()
        ]);
}
```

### 2. Add Traits and CanAccessPanel to User Model

[](#2-add-traits-and-canaccesspanel-to-user-model)

Your user model needs to use the `HasArticle` trait and implement `FilamentUser`:

```
use Filament\Models\Contracts\FilamentUser;
use Filament\Panel;
use Fuelviews\SabHeroArticles\Traits\HasArticle;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Spatie\MediaLibrary\HasMedia;
use Spatie\MediaLibrary\InteractsWithMedia;

class User extends Authenticatable implements FilamentUser, HasMedia
{
    use HasFactory, Notifiable, HasArticle, InteractsWithMedia;

    protected $fillable = [
        'name',
        'email',
        'password',
        'slug',      // Added by HasArticle trait
        'bio',       // Added by HasArticle trait
        'links',     // Added by HasArticle trait (JSON)
        'is_author', // Added by HasArticle trait
    ];

    protected $casts = [
        'email_verified_at' => 'datetime',
        'password' => 'hashed',
        'links' => 'array',
        'is_author' => 'boolean',
    ];

    public function canAccessPanel(Panel $panel): bool
    {
        $allowedDomains = config('sabhero-articles.user.allowed_domains', []);

        foreach ($allowedDomains as $domain) {
            if (str_ends_with($this->email, $domain)) {
                return true;
            }
        }

        return false;
    }

    /**
     * Register media collections for user avatars
     */
    public function registerMediaCollections(): void
    {
        $this->addMediaCollection('avatar')
            ->singleFile()
            ->registerMediaConversions(function () {
                $this->addMediaConversion('thumb')
                    ->width(208)
                    ->height(208)
                    ->crop('crop', 208, 208);
            });
    }
}
```

**Note:** The `HasArticle` trait provides:

- Automatic slug generation for users
- `is_author` default value of `true`
- Author-specific query scopes
- Relationship to posts
- Avatar management methods

Upgrading
---------

[](#upgrading)

### Upgrading from v1 to v2

[](#upgrading-from-v1-to-v2)

The package includes an automated upgrade command that handles schema changes, seeder updates, and wrapper package upgrades:

```
php artisan sabhero-articles:upgrade-v2
```

**What it does:**

- Renames `pages.slug` to `pages.route` (stores Laravel route names, not URL slugs)
- Renames `posts.feature_image_alt_text` to `posts.post_feature_image_alt_text`
- Drops obsolete `feature_image` and `page_feature_image` columns (now handled by Spatie Media Library)
- Updates media collection names from `feature_image` to `post_feature_image` and `page_feature_image`
- Updates your published `PageTableSeeder.php` to use new column names
- Optionally upgrades the wrapper package to ^2.0

**Options:**

- `--force` - Re-run migrations even if already executed

**Example:**

```
# Standard upgrade
php artisan sabhero-articles:upgrade-v2

# Force re-run (if upgrade failed previously)
php artisan sabhero-articles:upgrade-v2 --force
```

The command provides detailed output showing what changes are being made and verifies successful completion.

Import/Export Features
----------------------

[](#importexport-features)

The package includes powerful import/export functionality for migrating posts between installations or backing up content.

### CSV Export

[](#csv-export)

Export selected posts as a ZIP file containing a CSV and all images:

1. Navigate to Posts in Filament admin panel
2. Select posts using checkboxes
3. Click "Bulk actions" → "Export posts (csv)"
4. Download ZIP file

**ZIP Contents:**

- `posts.csv` - All post data with headers
- `images/` - All post feature images

**CSV Format:**

```
ID,Title,Subtitle,Content,Slug,Status,Categories,Tags,Feature Image Alt Text,Additional Media,Author,Published At,Scheduled For,Created At,Updated At
```

### CSV Import

[](#csv-import)

Import posts from a CSV + images ZIP file:

1. Click "Import posts" in the table header
2. Upload your ZIP file (must contain `posts.csv` and `images/` directory)
3. Posts are created or updated based on slug
4. Categories and tags are automatically created if they don't exist

**Features:**

- Idempotent: Running the same import multiple times updates existing posts (no duplicates)
- Creates missing categories and tags automatically
- Attaches images via Spatie Media Library
- Imports in chronological order (oldest to newest)
- Supports cloud storage uploads

### Migration Export

[](#migration-export)

Export posts as a production-ready Laravel migration package:

1. Select posts in Filament
2. Click "Bulk actions" → "Export posts (migration)"
3. Download ZIP file

**ZIP Contents:**

- `{timestamp}_populate_exported_posts.php` - Laravel migration file
- `posts/markdown/*.md` - Each post as markdown with YAML frontmatter
- `images/` - All post feature images and user avatars
- `README.md` - Installation instructions

**Migration Features:**

- Creates or updates users/authors with avatars
- Generates random secure passwords for new users
- Imports posts in reverse order (newest first, oldest last)
- Creates categories and tags automatically
- Attaches images via Spatie Media Library
- Includes reversible `down()` method
- Comprehensive error handling and logging
- Idempotent: Safe to run multiple times

**Installation (on receiving server):**

```
# 1. Copy files
cp {timestamp}_populate_exported_posts.php database/migrations/
cp -r posts database/
cp -r images public/

# 2. Run migration
php artisan migrate

# 3. Rollback (if needed)
php artisan migrate:rollback
```

**Markdown Format Example:**

```
---
export_order: 1
title: "My Post Title"
slug: "my-post-slug"
status: "published"
published_at: "2024-01-15 10:00:00"
user_email: "author@example.com"
categories:
  - "Technology"
  - "Laravel"
tags:
  - "PHP"
  - "Web Development"
post_feature_image: "my-post-slug-123.jpg"
post_feature_image_alt_text: "Image description"
---

# Post content in markdown

Your post body goes here...
```

Advanced Features
-----------------

[](#advanced-features)

### Scheduled Publishing

[](#scheduled-publishing)

Posts can be scheduled to publish automatically at a future date/time:

1. Set post status to "Scheduled"
2. Set the "Scheduled For" date and time
3. The `PostScheduleJob` will automatically publish the post when the time arrives

**Requirements:**

- Queue worker must be running (`php artisan queue:work`)
- Job runs every minute checking for posts to publish
- Status changes from `scheduled` to `published` automatically
- `published_at` timestamp is set when published

### RSS Feed

[](#rss-feed)

The package automatically generates an RSS feed of your published posts:

**Feed URL:** `/articles/rss` (or `/{your-route-prefix}/rss`)

**Configuration:** Publish the feed config to customize:

```
php artisan vendor:publish --tag="feed-config"
```

Edit `config/feed.php`:

```
'feeds' => [
    'articles' => [
        'items' => 'Fuelviews\SabHeroArticles\Models\Post@getFeedItems',
        'url' => '/articles/rss',
        'title' => 'My Blog',
        'description' => 'Latest articles from my blog',
        'language' => 'en-US',
        'format' => 'rss', // Also supports 'atom' and 'json'
    ],
],
```

**Feed includes:**

- Title, description, and link for each post
- Author information
- Feature images and enclosures
- Full HTML content or excerpt
- Publication dates
- 50 most recent published posts

### SEO Optimization

[](#seo-optimization)

Every post and page includes comprehensive SEO metadata:

**Features:**

- Dynamic Open Graph metadata
- Twitter Card support
- Per-post custom titles and descriptions
- Author metadata
- Feature images for social sharing
- Powered by ralphjsmit/laravel-seo

**Customization:**Posts automatically use:

- Title as page title
- Subtitle or excerpt as description
- Feature image for Open Graph image
- Author information

### Search Autocomplete

[](#search-autocomplete)

Real-time search with Livewire component:

**Usage:**

```

```

**Features:**

- Searches post titles and subtitles
- Shows results after 2+ characters
- Keyboard navigation (up/down arrows, enter, escape)
- Debounced for performance
- Click outside to close
- Responsive design

### Author System

[](#author-system)

Full author management with public profiles:

**Admin Features:**

- User resource with author fields (slug, bio, links, is\_author)
- Avatar upload with responsive images
- Filter posts by author
- Author-specific permissions

**Frontend Features:**

- Author archive pages at `/articles/authors/{slug}`
- Author profile with avatar, bio, and social links
- List all authors at `/articles/authors`
- Only shows authors with `is_author = true` and published posts
- Avatar fallback to UI Avatars ()

**User Fields:**

- `slug` - URL-friendly identifier
- `bio` - Author biography (text)
- `links` - Social links (JSON: `{"twitter": "@handle", "github": "username"}`)
- `is_author` - Toggle to show/hide on public author pages

### Advanced Markdown Rendering

[](#advanced-markdown-rendering)

The markdown renderer includes powerful extensions:

**Features:**

- **Table of Contents**: Auto-generated with heading links
- **Heading Permalinks**: Click-to-copy links for all headings
- **External Links**: Automatically styled and opened in new tab
- **Task Lists**: `- [ ]` and `- [x]` for checkboxes
- **Footnotes**: Reference-style footnotes with backlinks
- **Description Lists**: Definition lists support
- **Tables**: Full GitHub Flavored Markdown tables
- **Autolinks**: Automatic URL detection and linking
- **Video Embeds**: YouTube, Vimeo auto-embedding
- **Social Embeds**: Twitter, GitHub embeds
- **Image Rendering**: Glide integration for on-the-fly image manipulation

**Usage:**

```

```

**Configuration:**

```
// config/sabhero-articles.php
'heading_permalink' => [
    'html_class' => 'scroll-mt-40', // CSS class for heading links
],
```

Available Routes
----------------

[](#available-routes)

All routes are prefixed with `/articles` by default (configurable in `config/sabhero-articles.php`):

RouteDescription`GET /articles`Post index (paginated)`GET /articles/page/{page}`Post pagination`GET /articles/search`Post search results`GET /articles/{post:slug}`Single post view`GET /articles/categories`All categories`GET /articles/categories/{category:slug}`Posts in category`GET /articles/tags`All tags`GET /articles/tags/{tag:slug}`Posts with tag`GET /articles/authors`All authors`GET /articles/authors/{user:slug}`Author's posts`GET /articles/rss`RSS feed**Route Features:**

- Slug-based URLs for SEO
- Route model binding with eager loading
- Only published posts shown on frontend
- Scoped bindings (e.g., only published posts)

Available Components
--------------------

[](#available-components)

SAB Hero Articles comes with several Blade components for easy UI implementation:

### Layout &amp; Structure

[](#layout--structure)

- `` - Main article layout wrapper
- `` - Breadcrumb navigation (uses diglactic/laravel-breadcrumbs)

### Post Display

[](#post-display)

- `` - Standard post card for listings
- `` - Featured post card with larger image
- `` - Recent posts sidebar widget

### Headers

[](#headers)

- `` - Category header with title and description
- `` - Metro-style header layout

### Content Rendering

[](#content-rendering)

- `` - Advanced markdown renderer with:
    - Table of contents generation
    - Heading permalinks
    - External link styling
    - Task lists support
    - Footnotes
    - Video/social embeds (YouTube, Twitter, GitHub)
    - Glide image rendering

### Livewire Components

[](#livewire-components)

- `` - Real-time search with autocomplete

**Example Usage:**

```
{{-- Post listing page --}}

        @foreach($posts as $post)

        @endforeach

{{-- Single post page --}}

        {{ $post->title }}

```

Testing
-------

[](#testing)

```
composer test
```

Documentation
-------------

[](#documentation)

- **[Import/Export Guide](docs/IMPORT_EXPORT.md)** - Complete guide to CSV and migration import/export features
- **[Configuration](config/sabhero-articles.php)** - All configuration options explained
- **[Changelog](CHANGELOG.md)** - Recent changes and version history
- **[Contributing](CONTRIBUTING.md)** - Contribution guidelines

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on recent changes.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for contribution guidelines.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [Joshua Mitchener](https://github.com/thejmitchener)
- [Daniel Clark](https://github.com/sweatybreeze)
- [Fuelviews](https://github.com/fuelviews)
- [Firefly](https://github.com/thefireflytech)
- [Asmit Nepali](https://github.com/AsmitNepali)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance83

Actively maintained with recent releases

Popularity17

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 94.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Total

27

Last Release

158d ago

Major Versions

v0.0.18 → v1.0.02025-08-28

v1.0.3 → v2.0.02025-10-16

PHP version history (3 changes)v0.0.1PHP &gt;=8.2

v0.0.3PHP ^8.3

v0.0.8PHP ^8.3||^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/dd4a27681d2fe0a911a7c32f6ce4a54822748a6443892a27d7f6c651370559d8?d=identicon)[fuelviews](/maintainers/fuelviews)

---

Top Contributors

[![thejmitchener](https://avatars.githubusercontent.com/u/64335706?v=4)](https://github.com/thejmitchener "thejmitchener (90 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")

---

Tags

laravelarticlesblogsFuelviewssabherosabhero-articles

###  Code Quality

TestsPest

Static AnalysisRector

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/fuelviews-laravel-sabhero-articles/health.svg)

```
[![Health](https://phpackages.com/badges/fuelviews-laravel-sabhero-articles/health.svg)](https://phpackages.com/packages/fuelviews-laravel-sabhero-articles)
```

###  Alternatives

[spatie/laravel-data

Create unified resources and data transfer objects

1.7k28.9M627](/packages/spatie-laravel-data)[hirethunk/verbs

An event sourcing package that feels nice.

513162.9k6](/packages/hirethunk-verbs)[worksome/exchange

Check Exchange Rates for any currency in Laravel.

123544.7k](/packages/worksome-exchange)[ralphjsmit/livewire-urls

Get the previous and current url in Livewire.

82270.3k4](/packages/ralphjsmit-livewire-urls)[hydrat/filament-table-layout-toggle

Filament plugin adding a toggle button to tables, allowing user to switch between Grid and Table layouts.

6292.3k1](/packages/hydrat-filament-table-layout-toggle)[codebar-ag/laravel-filament-json-field

A Laravel Filament JSON Field integration with CodeMirror support

1124.1k](/packages/codebar-ag-laravel-filament-json-field)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
