PHPackages                             ozankurt/modules-blog - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. ozankurt/modules-blog

ActiveLibrary

ozankurt/modules-blog
=====================

Ready to use blog module for laravel.

0.4.1(5y ago)884[1 PRs](https://github.com/OzanKurt/KurtModules-Blog/pulls)MITPHPCI failing

Since Jun 19Pushed 5y agoCompare

[ Source](https://github.com/OzanKurt/KurtModules-Blog)[ Packagist](https://packagist.org/packages/ozankurt/modules-blog)[ RSS](/packages/ozankurt-modules-blog/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (6)Dependencies (4)Versions (8)Used By (0)

KurtModules-Blog
================

[](#kurtmodules-blog)

I tried to extract a simple, reusable blog module to use on my projects. I used two external packages in total. For keeping the URL pretty on every possible page, I added [Eloquent Sluggable](https://github.com/cviebrock/eloquent-sluggable) and for displaying the content of a post I decided to use [Laravel Markdown](https://github.com/GrahamCampbell/Laravel-Markdown). This can of course be overwritten.

The module includes the following models and each model has a default observer:

PS: Observers are currently not customizable. :(

#### Category

[](#category)

MethodsDescriptionposts()Posts of the category. (hasMany)postsCount()Posts count of the category. (hasOne)latestPost()Latest post of the category. (hasOne)scopePopular($descending = true)Order the categories accoring to their popularities. (scope)#### Tag

[](#tag)

MethodsDescriptionposts()Posts of the tag. (belongsToMany)postsCount()Posts count of the tag. (hasOne)latestPost()Latest post of the tag.#### Post

[](#post)

Posts have a media type attribute so that the users can choose between a Text Post, Single Image Post, Multiple Image Post or Video Post. Videos support 3 different websites: YouTube, Vimeo, DailyMotion

MethodsDescriptioncategory()Category of the post. (belongsTo)user()User of the post. (belongsTo)comments()Comments of the post. (hasMany)commentsCount()Comments count of the post. (hasOne)latestComment()Latest comment of the post.tags()Tags of the post. (belongsToMany)tagsCount()Tag count of the post. (hasOne)scopePopular($descending = true)Order the categories accoring to their popularities. (scope)scopeInCategory($categoryId = true)Filter the posts to a category. (scope)\*scopeWithTags($tagIds = \[\], $and = false)Filter the posts by their tags. (scope)\*PS: \* *This should be able to receive multiple ids sometime.*

#### Comment

[](#comment)

MethodsDescriptionpost()Post of the comment. (belongsTo)user()User of the comment. (belongsTo)isApproved()Check the approval state of the comment.approve($state = true)Update the appvoval of the comment.disapprove()Update the appvoval of the comment.### Contribution guidelines

[](#contribution-guidelines)

Todo: Add contribution guidelines.

### Who do I talk to?

[](#who-do-i-talk-to)

**Owner**:

- Ozan Kurt ()

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~297 days

Recently: every ~371 days

Total

6

Last Release

2130d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c24006c03ba24fcb1c65905a009600b34e17d532add4a381075a2d7379cf4b94?d=identicon)[OzanKurt](/maintainers/OzanKurt)

---

Top Contributors

[![OzanKurt](https://avatars.githubusercontent.com/u/8682003?v=4)](https://github.com/OzanKurt "OzanKurt (75 commits)")

---

Tags

laravelmoduleblog

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ozankurt-modules-blog/health.svg)

```
[![Health](https://phpackages.com/badges/ozankurt-modules-blog/health.svg)](https://phpackages.com/packages/ozankurt-modules-blog)
```

###  Alternatives

[microweber/microweber

New generation CMS with drag and drop

3.4k13.8k1](/packages/microweber-microweber)[binshops/laravel-blog

Simple blog package (with admin panel) for Laravel. Includes all views, controllers, routes and can add a blog to any existing Laravel app. Fully customisable blog (view, urls, and many other options). Includes image uploads and a pretty admin interface to manage your blog. Defaults to /blog but you can change it to anything.

48447.0k](/packages/binshops-laravel-blog)[flex/blog

An Elegant Blog System

1231.1k](/packages/flex-blog)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
