A simple content page management system with a flexible content block builder based on the Filament Flexible Content Blocks.
This package aims to provide a basic, batteries-included CMS for Filament by providing page creation in Filament and renders web pages that can be easily extended and styled.
Other features that will be provided:
- Pages with hero, slugs, content blocks, publication options and SEO fields.
- Website: routing, blade views, CSS themes included.
- Extendable settings model and Filament resource to store CMS settings and images.
- Redirect support for when slugs are renamed
- Sitemap generation
- A ready-to-use, extendable Filament panel with all CMS features implemented.
- Extendable models, resources and database tables.
- A simple asset manager (TODO)
- Re-usable content blocks (TODO)
- Contact form (TODO)
This package combines several existing packages and is therefore quite opinionated.
You can install the package via composer:
composer require statikbe/laravel-filament-flexible-content-block-pages
Publish the config file with:
php artisan vendor:publish --tag="filament-flexible-content-block-pages-config"
If you want to alter the names of the database tables, do so in the config file, before running the migrations.
You can publish and run the migrations with:
php artisan vendor:publish --tag="filament-flexible-content-block-pages-migrations"
php artisan migrate
You can now seed the home page and default settings by running:
php artisan flexible-content-block-pages:seed
Further configure the third-party packages that are used. Check the installation documentation of these packages:
- Laravel Localization: Make sure the middlewares are properly setup if you want to use localised routes.
Check [the configuration documentation}(#configuration) for more explanations on how to tweak the package.
Optionally, you can publish the views using
php artisan vendor:publish --tag="filament-flexible-content-block-pages-views"
If you want translated content and routes, go through the following steps:
- Configure the supported locales in the Filament Flexible Content Blocks configuration
- Configure the
route_helper
infilament-flexible-content-block-pages.php
Register the routes in your route file, probably web.php
:
\Statikbe\FilamentFlexibleContentBlockPages\Facades\FilamentFlexibleContentBlockPages::routes();
The package contains a pre-configured panel. You can register the panel in the app.php
configuration file.
'providers' => [
// ...
\Statikbe\FilamentFlexibleContentBlockPages\FlexibleContentBlockPagesPanel::class,
// ...
],
If you want you can build your own panel from the provided resources.
TODO
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.