Download the PHP package anjan-talukdar/laravel-page-versioning without Composer
On this page you can find all versions of the php package anjan-talukdar/laravel-page-versioning. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download anjan-talukdar/laravel-page-versioning
More information about anjan-talukdar/laravel-page-versioning
Files in anjan-talukdar/laravel-page-versioning
Package laravel-page-versioning
Short Description A lightweight, append-only content management and versioning engine for Laravel applications with optional Filament Admin support.
License MIT
Informations about the package laravel-page-versioning
Laravel Page & Page Versioning Engine (anjan-talukdar/laravel-page-versioning)
A lightweight, append-only content management and versioning engine for Laravel applications with optional Filament Admin support.
Maintains complete revision history for static pages (e.g. Privacy Policy, Terms of Service, Cookie Policy, Refund Policy, About Us, Contact) with draft/publish workflows, soft deletes, and safe rollbacks.
Key Features
- Append-Only History: Edits and rollbacks duplicate revisions as brand-new versions without ever overwriting historical records.
- Auto-Increment Revision Code:
version_codeis an integer (1,2,3...) automatically calculated by the system without requiring user input. - Viewer-Facing Version Name:
version_namestores human-friendly version strings (e.g.v1.0.0,v1.1.0,Initial Release). - Dual Support: Fully functional out-of-the-box in standard Laravel applications (without Filament) or inside Filament Admin dashboards via
PageVersioningPlugin. - Application Status Enum: Type-safe version status management (
DRAFT,PUBLISHED,ARCHIVED). - Flexible URL Routing: Supports direct short URLs (
/pages/privacy-policy) and optional type-prepended URLs (/pages/legal/privacy-policy). - Automatic Custom Blade Resolution: Create custom per-slug or per-type views effortlessly.
- Blade Helpers: Retrieve published page instances or contents in Blade using
page('privacy-policy'). - Centralized Service: All business logic encapsulated in
PageService.
Installation
1. Require Package via Composer
2. Install Base Package
Run the standard installation command to publish configuration and database migrations:
Filament Admin Integration (Optional)
If your application uses Filament Admin, run the dedicated Filament installation command:
Then register the PageVersioningPlugin in your panel provider (e.g. app/Providers/Filament/AdminPanelProvider.php):
Customizing Filament Resources
Developers can customize the Filament resources in 3 ways:
-
Publish Filament Resource Files for Overwrite:
This copies
PageResource.php, sub-pages, andPageVersionsRelationManagerdirectly intoapp/Filament/Resources/PageVersioningfor complete editing. -
Override Resource Class via Plugin Method:
- Override Resource Class via Config (
config/page-versioning.php):
Custom Blade Views & Templates
Developers can customize page Blade views in 3 flexible ways:
1. Page-Specific / Slug-Specific View Overrides (Automatic Resolution)
Create a Blade view matching the page slug in your host application's resources/views/pages/:
resources/views/pages/about-us.blade.phpresources/views/pages/privacy-policy.blade.php
The package automatically detects and renders these custom files whenever that page slug is accessed!
2. Category / Type-Specific View Overrides
Create a Blade view matching the page category type:
resources/views/pages/legal.blade.phpresources/views/pages/general.blade.php
3. Publish Global Package View for Overwriting
Publish the default Blade template to resources/views/vendor/anjan-talukdar/laravel-page-versioning/show.blade.php:
Usage Guide
Using Blade Helper (Without Filament)
You can retrieve active published pages directly in any custom Blade view:
Programmatic Usage via PageService
Configuration (config/page-versioning.php)
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-page-versioning with dependencies
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/database Version ^10.0|^11.0|^12.0