PHPackages                             sajdoko/tallpress - 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. [Framework](/categories/framework)
4. /
5. sajdoko/tallpress

ActiveLibrary[Framework](/categories/framework)

sajdoko/tallpress
=================

A reusable Laravel package that adds complete blog functionality to any Laravel 10+ application

v1.2.2(6mo ago)03[4 PRs](https://github.com/sajdoko/tallpress/pulls)MITPHPPHP ^8.1|^8.2|^8.3CI passing

Since Oct 30Pushed 1mo agoCompare

[ Source](https://github.com/sajdoko/tallpress)[ Packagist](https://packagist.org/packages/sajdoko/tallpress)[ Docs](https://github.com/sajdoko/tallpress)[ Fund](https://www.buymeacoffee.com/sajdoko)[ GitHub Sponsors](https://github.com/sajdoko)[ RSS](/packages/sajdoko-tallpress/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (14)Versions (10)Used By (0)

TallPress - Laravel Blog Package
================================

[](#tallpress---laravel-blog-package)

[![Latest Version on Packagist](https://camo.githubusercontent.com/af27f4f1743c22b787ce2e17b436f2ca119c6b1ad1beecdc689032dd5bb7ffd9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73616a646f6b6f2f74616c6c70726573732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sajdoko/tallpress)[![GitHub Tests Action Status](https://camo.githubusercontent.com/45cc06eeecce061c052bdb5fe9bd10282659135cfcfa61e4c1e5eb1fa765f80e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73616a646f6b6f2f74616c6c70726573732f72756e2d74657374732e796d6c3f6272616e63683d6d61696e266c6162656c3d7465737473267374796c653d666c61742d737175617265)](https://github.com/sajdoko/tallpress/actions?query=workflow%3Arun-tests+branch%3Amain)[![Total Downloads](https://camo.githubusercontent.com/38e42232e889602ad15d3144edf442fab20bb83c6fc5d52a40b79cccd8fb38ef/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73616a646f6b6f2f74616c6c70726573732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/sajdoko/tallpress)

A comprehensive, reusable Laravel blog package that adds complete blog functionality to any Laravel 10+ application. Features include posts with Markdown support, categories, tags, comments, image uploads, search, policies, and a full REST API.

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

[](#documentation)

Complete documentation is available in the [**Wiki**](https://github.com/sajdoko/tallpress/wiki):

- **[Installation Guide](https://github.com/sajdoko/tallpress/wiki/Installation)** - Requirements, installation steps, and quick setup
- **[Configuration](https://github.com/sajdoko/tallpress/wiki/Configuration)** - Configuration options and dynamic settings management
- **[Usage Guide](https://github.com/sajdoko/tallpress/wiki/Usage-Guide)** - Routes, creating posts, events, and Artisan commands
- **[Admin Interface](https://github.com/sajdoko/tallpress/wiki/Admin-Interface)** - Complete admin panel guide with authorization and features
- **[API Documentation](https://github.com/sajdoko/tallpress/wiki/API-Documentation)** - RESTful API endpoints and authentication
- **[Styling &amp; Assets](https://github.com/sajdoko/tallpress/wiki/Styling-and-Assets)** - Customizing styles and working with assets
- **[Contributing](https://github.com/sajdoko/tallpress/wiki/Contributing)** - Development workflow and testing

[![Public Blog Interface](https://raw.githubusercontent.com/wiki/sajdoko/tallpress/assets/images/blog_hero.webp)](https://raw.githubusercontent.com/wiki/sajdoko/tallpress/assets/images/blog_hero.webp)

Features
--------

[](#features)

### Content Management

[](#content-management)

- **Posts Management**: Create, read, update, and delete blog posts with rich editing capabilities
- **Rich WYSIWYG Editor**: Modern Quill editor with inline image uploads, formatting toolbar, and drag &amp; drop support
- **Markdown Support**: Write posts in Markdown with automatic HTML conversion using league/commonmark (backward compatible)
- **Categories &amp; Tags**: Many-to-many relationships for organizing content with auto-slug generation
- **Comments System**: User comments with approval/moderation workflow
- **Featured Images**: Upload and manage featured images with drag &amp; drop support, or use external image URLs
- **Image Management**: Professional hierarchical image organization by year/month with metadata tracking
- **Post Status Workflow**: Draft → Pending → Published workflow with role-based publishing
- **Soft Deletes**: Posts are soft-deleted for recovery
- **Post Revisions**: Automatic version tracking with restore capability (configurable retention)
- **Metadata**: JSON metadata field for custom data storage

### Admin Interface

[](#admin-interface)

- **Full Admin Dashboard**: Comprehensive admin panel at `/admin/blog` with statistics and overview
- **Role-Based Access Control**: Three roles (admin, editor, author) with granular permissions
- **Advanced Filtering**: Filter posts by status, author, category, date range, and search
- **Bulk Actions**: Publish, unpublish, and delete multiple posts at once
- **CSV Export**: Export posts to CSV for analysis or backup
- **Media Manager**: Upload, browse, and manage media files with thumbnails and metadata (dimensions, file size)
- **Inline Image Uploads**: Drag &amp; drop or paste images directly into the editor for seamless content creation
- **Comments Moderation**: Approve, reject, and bulk manage comments
- **Activity Logging**: Track all admin actions with user attribution
- **Rich Editor**: Choice between Quill WYSIWYG editor or Markdown textarea with live preview
- **Responsive Design**: Mobile-friendly admin interface

### Search &amp; Discovery

[](#search--discovery)

- **Full-Text Search**: Search across post title, excerpt, and body content
- **Configurable Search**: Define which fields are searchable
- **Category Browsing**: View posts by category with post counts
- **Tag Filtering**: Filter posts by tags
- **Published Posts Scope**: Easy querying of public content

### Authorization &amp; Security

[](#authorization--security)

- **Post Policies**: Granular permissions (viewAny, view, create, update, delete, publish)
- **Role-Based Authorization**: Admin, editor, and author roles with different capabilities
- **Gate Integration**: Custom gates for admin access and content moderation
- **Middleware Protection**: Route protection with `EnsureTallPressRole` middleware
- **Comment Moderation**: Approval workflow for user comments

### API &amp; Integration

[](#api--integration)

- **REST API**: Complete JSON API for all CRUD operations
- **API Resources**: Consistent JSON responses with proper formatting
- **Sanctum Support**: Token-based authentication for API access
- **HTTP Standards**: Proper status codes and validation responses
- **Extensible**: Easy to extend with custom API endpoints

### Developer Experience

[](#developer-experience)

- **Precompiled Assets**: Zero-build installation - works immediately after `composer require`
- **Events &amp; Observers**: PostPublished event and PostObserver for extensibility
- **Artisan Commands**: Install, seed, and cleanup commands for easy setup
- **Localization**: Translation-ready strings in multiple languages
- **Seeders**: Generate demo data for testing and development
- **Factory Classes**: Test data generation for all models
- **Comprehensive Tests**: Unit and feature tests included
- **PSR-12 Standards**: Clean, maintainable code following Laravel conventions

Quick Start
-----------

[](#quick-start)

### Installation

[](#installation)

```
composer require sajdoko/tallpress
php artisan vendor:publish --provider="Sajdoko\TallPress\TallPressServiceProvider" --tag=tallpress-config
php artisan migrate
```

Or use the quick install command:

```
php artisan tallpress:install --seed
```

That's it! Visit `/blog` for the public blog and `/admin/blog` for the admin interface.

### Requirements

[](#requirements)

- PHP 8.1 or higher
- Laravel 10.0 or higher
- MySQL database
- Livewire 3.0 or higher (automatically installed)

Key Features Highlight
----------------------

[](#key-features-highlight)

### Zero-Build Installation

[](#zero-build-installation)

The package ships with **precompiled assets** - no npm or build step required. Works immediately after `composer require`.

### Livewire-Powered Admin

[](#livewire-powered-admin)

Built with **Livewire v3** for a modern, reactive admin experience:

- Real-time updates without page reloads
- Live search and filtering
- Inline editing
- Bulk actions
- Live file upload feedback

### Flexible Editor

[](#flexible-editor)

Choose your preferred editing experience:

- **Rich Text Editor**: Modern WYSIWYG with Quill (drag &amp; drop images, formatting toolbar)
- **Markdown Editor**: Classic Markdown with live preview

### Complete API

[](#complete-api)

RESTful JSON API with Sanctum authentication:

```
GET    /api/tallpress/posts          # List posts
GET    /api/tallpress/posts/{id}     # Show post
POST   /api/tallpress/posts          # Create post (auth required)
PUT    /api/tallpress/posts/{id}     # Update post (auth required)
DELETE /api/tallpress/posts/{id}     # Delete post (auth required)
```

Usage Example
-------------

[](#usage-example)

```
// Display recent posts in your app
$recentPosts = \Sajdoko\TallPress\Models\Post::published()
    ->latest('published_at')
    ->limit(5)
    ->get();

// Create a post programmatically
$post = Post::create([
    'title' => 'My First Blog Post',
    'excerpt' => 'A brief introduction',
    'body' => '## Hello World

This is **Markdown** content.',
    'status' => 'published',
    'author_id' => auth()->id(),
]);
```

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Maintainers
-----------

[](#maintainers)

For package maintainers who need to compile and update assets, see [MAINTAINERS.md](MAINTAINERS.md).

###  Health Score

39

—

LowBetter than 86% of packages

Maintenance80

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.9% 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 ~0 days

Total

4

Last Release

199d ago

### Community

Maintainers

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

---

Top Contributors

[![sajdoko](https://avatars.githubusercontent.com/u/8860056?v=4)](https://github.com/sajdoko "sajdoko (13 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

blogcmslaraveltall-stacklaravelcmsblogcommentspostssajdokotallpress

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/sajdoko-tallpress/health.svg)

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

###  Alternatives

[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k12.1M99](/packages/laravel-pulse)[graham-campbell/markdown

Markdown Is A CommonMark Wrapper For Laravel

1.3k7.1M64](/packages/graham-campbell-markdown)[microweber/microweber

New generation CMS with drag and drop

3.4k13.8k1](/packages/microweber-microweber)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[tomatophp/filament-cms

Full CMS System with support of importing integrations and multi meta functions

11410.4k4](/packages/tomatophp-filament-cms)[devisephp/cms

Content Management System using the Laravel Framework

817.3k](/packages/devisephp-cms)

PHPackages © 2026

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