Blog Packages for Laravel: Nothing to Choose From?
I will be honest: this article was planned as “Review of Blog Packages for Laravel”. But after starting the research, I realized that there’s not much to choose from! Still, let’s look into some details and try to get an overview of this niche. So if you have a Laravel project and want to add a blog to it, what are your options?
Option 1. Packages for existing Laravel project
Let’s review this case – you have already-built Laravel website and want to add a blog to it. After doing some research, I’ve found a few packages but none of them are actually good to use in “real life”. Here they are:
Official description: A nice blog system with laravel 5 and laravelpanel
Seemed like a nice package, but for me installation didn’t work on Laravel 5.3 version. To be honest, their official Readme file mentions only 5.1 and 5.2 versions, so I guess they didn’t update the package for that.
Moreover, even their demo link doesn’t work, so I guess the package is abandoned.
Official description: Blogify is a package to add a blog to your Laravel 5 application. It comes with a full admin panel with different views for all user roles. You can generate the public part through an artisan command but feel free to customize it, or just create your own using or models and their scopes.
Unfortunately, here’s a message on the official website:
“Blogify will no longer be maintained
Due to the fact that there are better alternatives on the market and a lack of time I will no longer maintain the Blogify package. There will be no more updates or new releases. You can still use the current versions, the repo will not run away.”
I actually wanted to try out Blogify anyway, but then discovered that documentation is not fully finished – there’s no easy way to understand how to use the package after installation. So in the end I didn’t bother.
Official description: Simple Laravel blogging package.
This package surprised me by just the fact that it actually worked on my Laravel 5.3! Yay! Here’s how it looks after install:
But then the problem appeared. Apparently, this package doesn’t have any adminpanel for adding blog articles and it needs to be done… wait for it… via Markdown and Artisan command! Here’s an excerpt from the instruction:
Out of the box any post or page should be written using markdown format. By default, post and page markdown files should go in the ./blog/posts and ./blog/pages folders respectively.
Once a post or page is written the larablog:build command is used to add the new posts and pages or update existing ones.
> php artisan larablog:build
Are you kidding me? Blog package without adminpanel? It’s like writing PHP code in Notepad. Possible, but no, thank you.
So, all in all, I haven’t found any well-working package to add a blog to existing Laravel project.
Option 2. Full ready-made blog projects
Another group of packages I’ve found are not actually packages – they are full Laravel projects ready-to-use from scratch. So they are not suitable to use in existing Laravel projects, but if you are ok to go this way, here are the options:
This is quite a new package, but already quite popular – 480 Stars on Github. I’ve successfully installed it and it looks really nice:
Also pretty new project. Canvas is a simple, powerful blog publishing platform that lets you to share your stories with the world. Its beautifully designed interface and completely customizable framework allows you to create and publish your own blog, giving you tools that make it easy and even fun to do.
Installation was not only successful but quite fun – here’s what I saw after launching artisan canvas:install:
And then here’s how it looks on the front-end and back-end:
Option 3. WordPress. Yes, you’ve read it right, WordPress.
I know what Laravel developers usually think about WordPress (or any other off-the-shelf CMS). But actually, if you just want to launch a blog – it’s perfect for it. It has gazillion features which otherwise you would have to create yourself: powerful editor, media managers, thousands of themes and plugins ready for you.
And there are two ways of implementing a WordPress blog into existing Laravel project.
- Just create a subfolder like /blog, install WordPress there and have it as a separate website, maybe point some subdomain there or play around with a theme to make it look natural. That’s actually the way we went in this blog.
- Use WordPress only as a writing tool, but the actual data could come from WordPress via API. This is the way actually used by Laravel News blog – Eric Barnes wrote about how it works.
Option 4. Adminpanel/CRUD generators
Finally, as an option – you can generate your database via one of CRUD generators out there, and then build front-end yourself. Some options to consider:
Actually, we’re planning to write a separate overview of only those code generators. Stay tuned.
So these are the options for having a blog on Laravel platform. To be honest, in most of the cases I would recommend using WordPress – a tool which was created specifically for blogging. Those who try to repeat its functionality in Laravel usually bump into issues and huge amount of work, maybe that’s the main reason of lack of packages for Laravel.
Anything I’ve missed here in the list? Maybe there is a viable option without workarounds?
Or maybe you want to fill in the gap in the market and create a package yourself?