happytodev / blogr
Blogr is a FilamentPHP plugin that adds a powerful blog system to your Laravel application.
Fund package maintenance!
happytodev
Requires
- php: ^8.1
- filament/actions: ^4.0
- filament/filament: ^4.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- nunomaduro/collision: ^8.8
- orchestra/testbench: ^10.6
- pestphp/pest: ^3.8
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- dev-main
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.2
- 0.2.1
- 0.2.0
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-52-Bug-The-publish-now-functionnality-doesnt-work-as-expected
- dev-feature-add-reading-time
- dev-ux-improve-icons-for-tags-and-categories
- dev-fix-filament-version-number-error
- dev-fix-update-publish-date-when-editing-a-post
- dev-release-v0.3.0
- dev-add-possibility-to-schedule-a-post
This package is auto-updated.
Last update: 2025-09-02 15:16:52 UTC
README
Blogr is a FilamentPHP plugin that adds a powerful blog system to your Laravel application.
Features
- Create, edit, and delete blog posts
- Edit post in markdown
- Table of contents is automatically generated
- A post can have a TL;DR
- Support code (currently very simple)
- A blog post can have a category
- A blog post can have tags
- A blog post can be published or not
- Schedule posts for future publication with automatic publishing
- Publication status indicator (draft/scheduled/published) with color coding
- The slug of blog post is automatically generated but can be customized
- Posts per category page
- Posts per tags page
- Image upload and editing
- Automatic author assignment
- Backend color customizable
Screenshots
Blog post view
Backend - List of posts
Backend - Edit post
Roadmap
Beta 2
- SEO fields (meta title, description, keywords) ✅ Completed
- Scheduled publishing ✅ Completed
- In the admin in the list of posts, display the toggle for is_published to quickly publish or unpublish ✅ Completed
- Add a table of content for blog post ✅ Completed
- When no post is published, display a message to user ✅ Completed
- TOC could be deactivate for a post
- User could define if TOC is activated by default or not for every post
- Add a reading time information for blog post
- Integrate meta fields
- Add a RSS feed for the blog posts
- Create widgets to display on dashboard
- Add a settings page to easily manage settings set in config/blogr.php
Requirements
- Laravel 12.x
- FilamentPHP v4.x
You have to start with a fresh install of Laravel and Filament v4 or add this package on existing app with these requirements.
Installation
- Install the package via Composer
composer require happytodev/blogr
- Publish configuration and migration files
php artisan vendor:publish --provider="Happytodev\Blogr\BlogrServiceProvider"
- Run the migrations
php artisan migrate
- Add the plugin in AdminPanelProvider class
Add this line in your file app\Providers\Filament\AdminPanelProvider.php
->plugin(BlogrPlugin::make())
Don't forget to import the class :
use Happytodev\Blogr\BlogrPlugin;
- Install typography plugin
Run npm install -D @tailwindcss/typography
- Add typography plugin in
resources\css\app.css
In resources\css\app.css
, change :
@import 'tailwindcss'; @import '../../vendor/livewire/flux/dist/flux.css'; ...
by
@import 'tailwindcss'; @import '../../vendor/livewire/flux/dist/flux.css'; @plugin "@tailwindcss/typography"; ...
- Access the blog in Filament
The plugin adds a Filament resource for managing blog posts.
Log in to your Filament admin panel and go to the “Blog Posts” section.
Configuration
You can customize the table prefix in the published config file:
config/blogr.php
Support
For questions or bug reports, open an issue on GitHub or contact happytodev.
Sponsor
If you like this project, you can support me via GitHub Sponsors.
License
MIT
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.