PHPackages                             airdev/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. [Utility &amp; Helpers](/categories/utility)
4. /
5. airdev/blog

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

airdev/blog
===========

Blog for Airdev applications

v1.3(4y ago)010PHPPHP ^7.3|^8.0

Since Jul 14Pushed 4y ago1 watchersCompare

[ Source](https://github.com/airdev-web/blog)[ Packagist](https://packagist.org/packages/airdev/blog)[ RSS](/packages/airdev-blog/feed)WikiDiscussions master Synced 6d ago

READMEChangelogDependencies (8)Versions (8)Used By (0)

Airdev/blog
===========

[](#airdevblog)

A package that quickly provide blog system.

It's only working with Airdev web base project.

Installation
------------

[](#installation)

```
composer require airdev/blog
```

Next, add it to the Laravel's package providers in `config/app.php`

```
/*
 * Package Service Providers...
 */
Airdev\Blog\AirdevBlogProvider::class,
```

Publish migrations, configure it if needed, the migrate.

```
php artisan vendor:publish --tag=airdev-blog-migrations
php artisan migrate
```

Publish the TiniMCE config file :

```
php artisan vendor:publish --provider="Kraftbit\NovaTinymce5Editor\FieldServiceProvider"
```

Add your TinyMCE cloud API key here or to your .env file like this :

```
TINYMCE_API_KEY=your-key-here
```

Then, publish airdev/blog config file :

```
php artisan vendor:publish --tag=airdev-blog-config
```

You can now edit some configuration.

```
return [
    'user-nova-resource' => \App\Nova\User::class,
    'user-model' => \App\Models\User::class,

    // Preview url for posts
    // for exemple : example.com/blog/your-post-slug
    'blog-preview-route' => '/blog',

    // Str::limit to shorten the intro text
    // If set to 'null', it will not short it
    'blog_intro_limit' => 200,
];
```

Usage
-----

[](#usage)

You can now access to blog ressources on Nova's Interface.

You can now create routes that will fetch the posts. Do not forget to create views.

```
Route::get('/blog', function() {
    // If no number of posts specified, it will take all posts
    return view('blog', ['posts' => AirdevPostController::get_posts(5)]);
})->name('blog');

Route::get('/blog/{slug}', function($slug) {
    $post = AirdevPostController::get_post_by_slug($slug);

    // Post doesn't exists
    if ($post == null)
        abort(404);

    // Post exists but isn't active
    if (!$post->isPublishable)
        return redirect(route('blog'), 302);

    return view('post', ['post' => $post]);
})->name('blog.post');
```

Example for listing all available posts

```
@foreach ($posts as $post)

                {{ $post->title }}
                {{ $post->intro }}
                En savoir plus

@endforeach
```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity61

Established project with proven stability

 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 ~6 days

Recently: every ~0 days

Total

7

Last Release

1735d ago

Major Versions

v0.2 → v1.02021-08-17

### Community

Maintainers

![](https://www.gravatar.com/avatar/1c3bd9bc80295b5a33f7274d8658c1bf40e9d1aebb7e5ae279ec0f4a9940901b?d=identicon)[airdev-web](/maintainers/airdev-web)

---

Top Contributors

[![romainvause](https://avatars.githubusercontent.com/u/3997030?v=4)](https://github.com/romainvause "romainvause (10 commits)")

### Embed Badge

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

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

###  Alternatives

[wireui/wireui

TallStack components

1.8k1.3M16](/packages/wireui-wireui)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4195.3M84](/packages/livewire-volt)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)

PHPackages © 2026

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