PHPackages                             manukminasyan/filament-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. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. manukminasyan/filament-blog

Abandoned → [relaticle/ink](/?search=relaticle%2Fink)Library[Parsing &amp; Serialization](/categories/parsing)

manukminasyan/filament-blog
===========================

Filament-native content publishing for blog, docs, and AI-citable articles. Headless by default, with opt-in public routes.

v2.1.0(3w ago)1103[1 issues](https://github.com/relaticle/ink/issues)MITPHPPHP ^8.4CI passing

Since Mar 31Pushed 3w agoCompare

[ Source](https://github.com/relaticle/ink)[ Packagist](https://packagist.org/packages/manukminasyan/filament-blog)[ Docs](https://github.com/relaticle/ink)[ RSS](/packages/manukminasyan-filament-blog/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (5)Dependencies (13)Versions (15)Used By (0)

Ink
===

[](#ink)

[![Downloads](https://camo.githubusercontent.com/ca9ffb6a3c8280e0db3bc5f7bda366a93bb2b38046ca5b65c508eb82a8018e7c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f72656c617469636c652f696e6b2e7376673f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/relaticle/ink)[![Laravel 12 and 13](https://camo.githubusercontent.com/25c27a929315cce267f7d982aa726ef1ff068991414a39919fd8026045f53d87/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31322e7825323025374325323031332e782d4646324432303f7374796c653d666f722d7468652d6261646765266c6f676f3d6c61726176656c)](https://laravel.com/docs/12.x)[![PHP 8.4](https://camo.githubusercontent.com/7ef2c28580718c0163c8a8d6eafe193edd414e6d63eafe0861bf038813849f88/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e342d3737374242343f7374796c653d666f722d7468652d6261646765266c6f676f3d706870)](https://php.net)[![License](https://camo.githubusercontent.com/608c8dfda488178950ce502d7697514db3a6a712579327ed90b9b594260f6355/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d626c75652e7376673f7374796c653d666f722d7468652d6261646765)](https://packagist.org/packages/relaticle/ink)[![Tests](https://camo.githubusercontent.com/c679b4c5f02efb383a3e3a204090be2b054e19509bdb934268ce71a186ee8d1d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f72656c617469636c652f696e6b2f74657374732e796d6c3f6272616e63683d6d61696e267374796c653d666f722d7468652d6261646765266c6162656c3d7465737473)](https://github.com/relaticle/ink/actions/workflows/tests.yml)

Filament-native content publishing for blog, docs, and AI-citable articles. Ships Eloquent models, a full Filament admin, MCP tools for AI agents, SEO components, publishable Blade UI components, and an **opt-in public-routes mode** for hosts that want a working blog without writing controllers.

Features
--------

[](#features)

- **Filament Admin** — PostResource and CategoryResource with markdown editor, draft/published/scheduled UX, SEO fields, featured images, and bulk publish/unpublish/schedule actions
- **SEO Components** — Meta tags, Open Graph, Twitter Cards, RSS feed, per-page canonicals on paginated listings
- **JSON-LD Schema** — `BlogPosting` + `BreadcrumbList` on post pages, `FAQPage` and `HowTo` auto-detected from content (opt-in), `Blog` + `CollectionPage` on listings
- **Search** — Portable `Post::search()` scope (LIKE by default, override for FTS / Scout), drop-in `BlogSearch` Livewire component with `?q=` URL sync
- **13 MCP Tools** — Full CRUD for posts and categories via Model Context Protocol, with markdown sanitization (HTML stripped, unsafe links blocked)
- **Publishable UI Components** — Post card, header, body, related posts, category badge, preview banner — all with dark mode
- **Two install modes**
    - **Headless (default)** — define your own routes/controllers, use the Blade components
    - **Public-routes mode (opt-in)** — flip a config flag, get `/blog`, `/blog/{slug}`, `/blog/category/{slug}`, signed `/blog/preview/{post}`, and optional `/blog/feed`
- **Tags taxonomy** (opt-in via `features.tags`) — many-to-many `blog_post_tag` table, `TagResource` admin UI, public archive at `/blog/tag/{slug}`
- **MediaLibrary integration** (opt-in via `features.media_library`) — when both the flag is on AND `spatie/laravel-medialibrary` is installed, the featured-image upload uses `SpatieMediaLibraryFileUpload` instead of the plain `FileUpload`. Falls back gracefully if MediaLibrary isn't installed.
- **Sitemap Generator** — Route-aware sitemap integration via spatie/laravel-sitemap
- **Reading-time + related-posts** helpers on the Post model

Requirements
------------

[](#requirements)

- PHP 8.4+
- Laravel 12+ or 13
- Filament 5.x

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

[](#installation)

```
composer require relaticle/ink
```

Register the plugin and run migrations:

```
// AppPanelProvider.php
->plugin(\Relaticle\Ink\InkPlugin::make())
```

```
php artisan migrate
```

Public-routes mode (opt-in)
---------------------------

[](#public-routes-mode-opt-in)

By default this package is fully headless: no routes, no controllers, no forced views. Your app owns all rendering.

To get a working blog at `/blog` without writing any controllers, flip the feature flag:

```
// config/ink.php
'features' => [
    'public_routes' => true,   // /blog, /blog/{slug}, /blog/category/{slug}, /blog/preview/{post}
    'feed'          => true,   // adds /blog/feed (RSS 2.0)
    'tags'          => true,   // /blog/tag/{slug}, TagResource in admin
    'media_library' => true,   // SpatieMediaLibraryFileUpload (requires spatie/laravel-medialibrary)
],

'layout' => 'layouts.app',     // your host layout to extend
```

Routes register at the service-provider level — no Filament panel boot is required, so the public site keeps working for guests who never touch the admin.

Publish the views if you want to customize them:

```
php artisan vendor:publish --tag=ink-views
```

Documentation
-------------

[](#documentation)

**[Read the full documentation →](https://relaticle.github.io/ink/)**

- [Installation](https://relaticle.github.io/ink/getting-started/installation)
- [Frontend Setup](https://relaticle.github.io/ink/getting-started/frontend-setup)
- [Blade Components](https://relaticle.github.io/ink/essentials/blade-components)
- [Filament Admin](https://relaticle.github.io/ink/essentials/filament-admin)
- [MCP Tools](https://relaticle.github.io/ink/essentials/mcp-tools)
- [Configuration](https://relaticle.github.io/ink/essentials/configuration)

Quick Example (headless)
------------------------

[](#quick-example-headless)

```
{{-- In your blog show page --}}

    @push('head')

    @endpush

```

License
-------

[](#license)

MIT

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance94

Actively maintained with recent releases

Popularity9

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 95.5% 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 ~5 days

Total

9

Last Release

27d ago

Major Versions

v1.4.1 → v2.0.02026-05-13

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2556185?v=4)[Manuk](/maintainers/ManukMinasyan)[@ManukMinasyan](https://github.com/ManukMinasyan)

---

Top Contributors

[![ManukMinasyan](https://avatars.githubusercontent.com/u/2556185?v=4)](https://github.com/ManukMinasyan "ManukMinasyan (21 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (1 commits)")

---

Tags

laravelmcpmarkdowncontentcmsheadlessblogseofilamentink

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17758.9k2](/packages/stephenjude-filament-jetstream)[a2insights/filament-saas

Filament Saas for A2Insights

171.5k](/packages/a2insights-filament-saas)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

264298.4k8](/packages/croustibat-filament-jobs-monitor)[stephenjude/filament-debugger

About

103150.5k2](/packages/stephenjude-filament-debugger)[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

127173.7k3](/packages/dotswan-filament-map-picker)

PHPackages © 2026

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