happytodev/blogr

Blogr is a FilamentPHP plugin that adds a powerful blog system to your Laravel application.

Fund package maintenance!
happytodev


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

alt text

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

Blog post view

Backend - List of posts

Backend - List of posts

Backend - Edit post

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

  1. Install the package via Composer
composer require happytodev/blogr
  1. Publish configuration and migration files
php artisan vendor:publish --provider="Happytodev\Blogr\BlogrServiceProvider"
  1. Run the migrations
php artisan migrate
  1. 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;
  1. Install typography plugin

Run npm install -D @tailwindcss/typography

  1. 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";
...
  1. 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.