Download the PHP package happytodev/blogr without Composer
On this page you can find all versions of the php package happytodev/blogr. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download happytodev/blogr
More information about happytodev/blogr
Files in happytodev/blogr
Package blogr
Short Description Blogr is a FilamentPHP plugin that adds a powerful blog system to your Laravel application.
License MIT
Homepage https://github.com/happytodev/blogr
Informations about the package blogr
Blogr – FilamentPHP Plugin
Blogr is a FilamentPHP plugin that adds a powerful blog system to your Laravel application.
Features
Content management
- Create, edit, and delete blog posts
- Edit post in markdown
- A post can have a TL;DR
- The post's slug can be custom
- Status : Draft, Scheduled, Published
- Category (one per post)
- Tags (multiple per post)
- Posts by category page
- Posts by tag page
- Post reading time
- Support code (currently very simple)
Medias
- Main post image upload and editing
- Drag & Drop image in the post content (see video demo below)
Table of contents
- Table of contents is automatically generated
- TOC could be deactivate for a post
- User could define if TOC is activated by default or not for every post
SEO
- Integrate meta fields
- Content optimization for SEO
Settings
- Many settings are available on an admin page or directly in
config/blogr.php
Tutorial
- Add default content to help user to start with Blogr
Widgets
- Widgets available for the dashboard
Screenshots
Blog post view
Backend - List of posts
Backend - Edit post
Settings
Widgets
Video demo
Drag & Drop image in the post content
Roadmap
Beta 2 (ETA 2025-09-15)
- [x] SEO fields (meta title, description, keywords) ✅ Completed
- [x] Scheduled publishing ✅ Completed
- [x] In the admin in the list of posts, display the toggle for is_published to quickly publish or unpublish ✅ Completed
- [x] Add a table of content for blog post ✅ Completed
- [x] When no post is published, display a message to user ✅ Completed
- [x] Add a reading time information for blog post ✅ Completed
- [x] Integrate meta fields ✅ Completed
- [x] Create widgets to display on dashboard ✅ Completed
- [x] Add a settings page to easily manage settings set in config/blogr.php ✅ Completed
- [x] TOC could be deactivate for a post ✅ Completed
- [x] User could define if TOC is activated by default or not for every post ✅ Completed
- [x] Add default content to help user to start with Blogr ✅ Completed
Beta 3 (ETA 2025-09-30)
- [ ] Add a RSS feed for the blog posts
- [ ] Collapsible TOC
- [ ] Title of blog post in the widget 'recent blog posts' should be clickable
- [ ] Define TOC style like in the eventuallycoding.com blog
- [ ] More to come...
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 with blogr command
The easiest way to install Blogr is using the automated installation command. This command will guide you through the entire installation process and handle most configuration automatically.
-
Install the package via Composer
- Run the automated installation
Available Options
The blogr:install
command supports several options to customize your installation:
--skip-npm
- Skip npm dependencies installation--skip-tutorials
- Skip tutorial content installation
Examples:
What the command does
The automated installation performs the following steps:
-
📦 Publishes configuration and migration files
- Publishes
config/blogr.php
- Publishes migration files
- Publishes views and assets
- Publishes
-
🗄️ Runs database migrations
- Creates necessary database tables
- Handles migration conflicts gracefully
-
📚 Installs tutorial content (unless
--skip-tutorials
is used)- Creates 7 comprehensive tutorial posts
- Includes welcome guide, installation help, and advanced features
- Creates a dedicated "Blogr Tutorial" category
-
📊 Installs dashboard widgets
- BlogStatsOverview - Blog statistics and metrics
- RecentBlogPosts - Latest posts with quick actions
- ScheduledPosts - Upcoming scheduled publications
- BlogPostsChart - Publication trends over time
- BlogReadingStats - Reading time analytics
-
📦 Handles npm dependencies (unless
--skip-npm
is used)- Installs
@tailwindcss/typography
if not present - Updates
resources/css/app.css
with typography plugin
- Installs
-
🔧 Checks AdminPanelProvider configuration
- Verifies BlogrPlugin is properly registered
- Provides guidance if configuration is missing
- ⭐ Prompts for GitHub star
- Asks if you'd like to support the project
- Completely optional and non-intrusive
After installation
Once the command completes successfully, you can:
- Access your admin panel at
/admin
- View tutorial posts (if installed) in the "Blogr Tutorial" category
- Create your first blog post using the "Blog Posts" section
- Configure settings in the "Blogr Settings" page
- Explore dashboard widgets for blog analytics
Troubleshooting
If you encounter issues:
- Clear caches:
php artisan optimize:clear
- Re-run migrations:
php artisan migrate:fresh
(⚠️ This will reset your database) - Check file permissions: Ensure web server can write to storage directories
- Verify npm installation: Run
npm install && npm run build
if needed
Manual installation
If you prefer to install Blogr manually or need more control over the installation process, follow these steps:
-
Install the package via Composer
-
Publish configuration and migration files
-
Run the migrations
- Add the plugin in AdminPanelProvider class
Add this line in your file app\Providers\Filament\AdminPanelProvider.php
Don't forget to import the class :
- Install typography plugin
Run npm install -D @tailwindcss/typography
- Add typography plugin in
resources\css\app.css
In resources\css\app.css
, change :
by
- 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
Default Open Graph (OG) Image Configuration
To set a default Open Graph image that will be used when your blog posts don't have a specific image:
- Place your image in the
public/images/
folder of your Laravel application - Edit the file
config/blogr.php
:
Recommendations for OG image:
- Format: JPG, PNG or WebP
- Dimensions: 1200x630 pixels (1.91:1 ratio)
- Size: Less than 1 MB
- Content: Your site logo or representative image
Logo Configuration for Structured Data
To set your organization's logo in the JSON-LD structured data:
- Place your logo in the
public/images/
folder of your Laravel application - Edit the file
config/blogr.php
:
Recommendations for logo:
- Format: PNG or SVG (transparent preferred)
- Dimensions: Minimum 112x112 pixels
- URL Format: Complete absolute URL (with https://)
Complete Configuration Example
Reading Time Configuration
Configure the reading time display for your blog posts:
Reading speed recommendations:
- Slow readers: 150-200 words per minute
- Average readers: 200-250 words per minute
- Fast readers: 250-300 words per minute
Complete SEO Configuration
Configure all SEO settings for optimal search engine optimization:
Blog Appearance Configuration
Customize the visual appearance of your blog:
Route Configuration
Configure the blog routes and middleware:
Posts Per Page
Control pagination settings:
Dashboard Widgets
Blogr provides powerful dashboard widgets to help you monitor and manage your blog content effectively. These widgets are automatically available in your Filament dashboard once the plugin is installed.
Available Widgets
📊 BlogStatsOverview
Displays comprehensive statistics about your blog:
- Total number of posts
- Published posts count
- Draft posts count
- Scheduled posts count
- Total categories
- Total tags
Each statistic is displayed with color-coded indicators and descriptive icons.
📝 RecentBlogPosts
Shows a table of the 10 most recent blog posts with:
- Post title (with tooltip for long titles)
- Category (with colored badges)
- Author name
- Publication status (with color coding: published=green, scheduled=yellow, draft=gray)
⏰ ScheduledPosts
Provides an overview of upcoming scheduled publications:
- Posts scheduled for future publication
- Publication dates
- Quick status overview
📈 BlogPostsChart
Interactive chart showing blog post publication trends:
- Monthly publication data for the last 12 months
- Visual representation of content creation patterns
- Helps identify peak publishing periods
📖 BlogReadingStats
Analytics focused on content engagement:
- Reading time statistics
- Average reading times across posts
- Content performance insights
How to Add Widgets to Your Dashboard
Manual Registration
If you need to customize widget placement or behavior, you can manually register them in your AdminPanelProvider
:
Widget Customization
Changing Widget Size
Widgets support different column spans:
Customizing Chart Data
The BlogPostsChart widget can be extended to show different time periods:
Widget Permissions
If you're using Filament's permission system, you can control widget visibility:
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
- Frédéric Blanc
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of blogr with dependencies
filament/actions Version ^4.0
filament/filament Version ^4.0
spatie/laravel-package-tools Version ^1.15.0
spatie/yaml-front-matter Version ^2.1