stephenjude / filament-blog
Filament Blog Builder
Fund package maintenance!
stephenjude
Installs: 7 372
Dependents: 0
Suggesters: 0
Security: 0
Stars: 159
Watchers: 8
Forks: 37
Open Issues: 2
Requires
- php: ^8.1
- filament/filament: ^3.0.49
- filament/forms: ^3.0.49
- filament/spatie-laravel-tags-plugin: ^v3.0
- filament/tables: ^3.0.49
- illuminate/contracts: ^10.0|^11.0
- spatie/laravel-package-tools: ^1.16.1
Requires (Dev)
- laravel/pint: ^1.13.1
- nunomaduro/collision: ^7.8.1|^8.0
- nunomaduro/larastan: ^2.6.4
- orchestra/testbench: ^8.10.2|^9.0
- pestphp/pest: ^2.18.2
- pestphp/pest-plugin-arch: ^2.3.3
- pestphp/pest-plugin-laravel: ^2.2
- pestphp/pest-plugin-livewire: ^2.1
- phpstan/extension-installer: ^1.3.1
- phpstan/phpstan-deprecation-rules: ^1.1.4
- phpstan/phpstan-phpunit: ^1.3.14
README
Filament Blog Builder
A faceless blog content manager with configurable richtext and markdown support for filament admin panel.
Filament Admin Panel
This package is tailored for Filament Admin Panel.
Make sure you have installed the admin panel before you continue with the installation. You can check the documentation here
Supported Versions
PHP: 8.1
& 8.2
Laravel: 10
Installation
You can install the package via composer:
composer require stephenjude/filament-blog php artisan filament-blog:install php artisan storage:link php artisan migrate
You'll have to register the plugin in your panel provider.
public function panel(Panel $panel): Panel { return $panel ... ->plugin( Stephenjude\FilamentBlog\BlogPlugin::make() ); }
Displaying your content
Filament blog builder is faceless, it doesn't have any opinions on how you display your content in your frontend. You can use the blog models in your controllers to display the different resources:
Stephenjude\FilamentBlog\Models\Post
Stephenjude\FilamentBlog\Models\Author
Stephenjude\FilamentBlog\Models\Category
Posts & Drafts
$posts = Post::published()->get(); $drafts = Post::draft()->get();
Post Content
$post = Post::find($id); $post->id; $post->title; $post->slug; $post->excerpt; $post->banner_url; $post->content; $post->published_at;
Post Category & Author
$post = Post::with(['author', 'category'])->find($id); $author = $post->author; $author->id; $author->name; $author->email; $author->photo; $author->bio; $author->github_handle; $author->twitter_handle; $category = $post->category; $category->id; $category->name; $category->slug; $category->description; $category->is_visible; $category->seo_title; $category->seo_description;
Configurations
This is the contents of the published config file:
<?php return [ /** * Supported content editors: richtext & markdown: * \Filament\Forms\Components\RichEditor::class * \Filament\Forms\Components\MarkdownEditor::class */ 'editor' => \Filament\Forms\Components\RichEditor::class, /** * Buttons for text editor toolbar. */ 'toolbar_buttons' => [ 'attachFiles', 'blockquote', 'bold', 'bulletList', 'codeBlock', 'h2', 'h3', 'italic', 'link', 'orderedList', 'redo', 'strike', 'undo', ], /** * Configs for Posts that give you the option to change * the sort column and direction of the Posts. */ 'sort' => [ 'column' => 'published_at', 'direction' => 'asc', ], ];
More Screenshots
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.