1. Go to this page and download the library: Download happytodev/blogr library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
happytodev / blogr example snippets
->plugin(BlogrPlugin::make())
use Happytodev\Blogr\BlogrPlugin;
'seo' => [
// ... other SEO configurations ...
'og' => [
'type' => 'website',
'image' => '/images/your-og-image.jpg', // Path to your OG image
'image_width' => 1200, // Recommended width: 1200px
'image_height' => 630, // Recommended height: 630px
],
// ... other configurations ...
],
'seo' => [
'site_name' => env('APP_NAME', 'My Blog'), // Your site name
'default_title' => 'Blog', // Default title for listing pages
'default_description' => 'Discover our latest articles and insights', // Default meta description
'default_keywords' => 'blog, articles, news, insights', // Default meta keywords
'twitter_handle' => '@yourhandle', // Twitter handle for Twitter Cards
'facebook_app_id' => '', // Facebook App ID for enhanced Open Graph
'og' => [
'type' => 'website',
'image' => '/images/og-default.jpg',
'image_width' => 1200,
'image_height' => 630,
],
'structured_data' => [
'enabled' => true,
'organization' => [
'name' => env('APP_NAME', 'My Blog'),
'url' => env('APP_URL', 'https://yourwebsite.com'),
'logo' => env('APP_URL', 'https://yourwebsite.com') . '/images/logo.png',
],
],
],
'blog_index' => [
'cards' => [
'colors' => [
'background' => 'bg-green-50', // Background color of blog cards
'top_border' => 'border-green-600', // Border color of blog cards
]
]
],
'colors' => [
'primary' => '#FA2C36' // Primary color for the blog
],
'route' => [
'prefix' => 'blog', // URL prefix (leave empty for homepage)
'middleware' => ['web'], // Middleware for blog routes
],
'posts_per_page' => 10, // Number of posts displayed per page
use Happytodev\Blogr\Filament\Widgets\BlogStatsOverview;
use Happytodev\Blogr\Filament\Widgets\RecentBlogPosts;
use Happytodev\Blogr\Filament\Widgets\ScheduledPosts;
use Happytodev\Blogr\Filament\Widgets\BlogPostsChart;
use Happytodev\Blogr\Filament\Widgets\BlogReadingStats;
public function panel(Panel $panel): Panel
{
return $panel
// ... other configurations ...
->widgets([
BlogStatsOverview::class,
RecentBlogPosts::class,
ScheduledPosts::class,
BlogPostsChart::class,
BlogReadingStats::class,
])
// ... other configurations ...
}
class CustomBlogStatsOverview extends BlogStatsOverview
{
protected int | string | array $columnSpan = 'full'; // or 1, 2, 3, etc.
}
class CustomBlogPostsChart extends BlogPostsChart
{
protected function getData(): array
{
// Custom data logic here
return [
'datasets' => [
[
'label' => 'Posts per Month',
'data' => [10, 15, 8, 12, 20, 18], // Your custom data
],
],
'labels' => ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
];
}
}
class BlogStatsOverview extends BaseWidget
{
public static function canView(): bool
{
return auth()->user()->can('view blog stats');
}
}
bash
laravel new mycompanyblog
cd mycompanyblog
composer filament-user
bash
php artisan blogr:install
bash
# Install everything (recommended for new installations)
php artisan blogr:install
# Skip npm installation (if you don't need typography plugin)
php artisan blogr:install --skip-npm
# Skip tutorial content
php artisan blogr:install --skip-tutorials
# Skip both npm and tutorials
php artisan blogr:install --skip-npm --skip-tutorials