signdeer / prezet
Prezet: Markdown Blogging for Laravel
Fund package maintenance!
benbjurstrom
Requires
- php: ^8.2
- ext-dom: *
- ext-gd: *
- benbjurstrom/laravel-sitemap-lite: ^7.3.1
- illuminate/contracts: ^10.0||^11.0||^12.0
- league/commonmark: ^2.6.1
- phiki/phiki: ^1.1
- spatie/laravel-package-tools: ^1.92.3
- symfony/yaml: ^6.2|^7.2.5
- wendelladriel/laravel-validated-dto: ^4.1
Requires (Dev)
- larastan/larastan: 3.3.1
- laravel/pint: ^1.22
- nunomaduro/collision: ^8.8
- orchestra/testbench: ^9.13
- pestphp/pest: ^3.8.1
- pestphp/pest-plugin-arch: ^3.1
- pestphp/pest-plugin-laravel: ^3.1
- phpstan/extension-installer: 1.4.3
- phpstan/phpdoc-parser: 2.1.0
- phpstan/phpstan: 2.1.11
- phpstan/phpstan-deprecation-rules: 2.0.1
- phpstan/phpstan-phpunit: 2.0.6
- spatie/browsershot: >=5.0.8
README
Prezet: Markdown Blogging for Laravel
Go from markdown files to SEO-friendly blogs, articles, and documentation in seconds! The Prezet framework makes it easy to parse, index, and serve your Markdown content efficiently within a Laravel application.
Looking for a ready-to-use frontend? Check out our offical template packages:

Table of Contents
✨ Framework Features
- • SQLite Index
- Indexes your markdown files to support search, pagination, sorting, and filtering.
- • Automatic Image Optimization
- Handles image processing, including compression, scaling, and generating responsive `srcset` attributes.
- • Validated Front Matter
- Define expected front matter fields and automatically cast them into validated Data Transfer Objects (DTOs) for type-safe access in your application.
- • Open Graph (OG) images
- Generate OG images from front matter using a customizable template.
- • Dynamic Table of Contents
- Automatically extracts headings from your Markdown content to generate data for a nested Table of Contents.
- • SEO Optimization
- Automatically generate meta tags based on front matter data for better search engine discoverability.
- • Blade Components
- Include Laravel Blade components in your markdown for enriched, interactive content.
🚀 Quick Start
-
Install the Prezet framework:
# Install the framework package composer require signdeer/prezet # Run the framework installer php artisan prezet:install
-
Install a Frontend Template:
The Prezet framework provides the backend engine. A template package provides the frontend (routes, controllers, views, CSS).
Example using the Official Docs Template:
# Install the template package composer require prezet/docs-template --dev # Run the template's installer php artisan docs-template:install
-
Index Your Content: After adding or modifying Markdown files in your content directory update the Prezet index:
php artisan prezet:index --fresh
This command scans your content directory and updates the SQLite index with the latest front matter information. Run this whenever you:
- Add new Markdown files.
- Change a file's slug (filename).
- Modify front matter and need it reflected in listings or searches. (Changes to the main body content of Markdown files are reflected automatically when viewing a single page).
-
Start Your Server:
php artisan serve
Visit the routes defined by your installed frontend template (e.g.,
/prezet
if usingprezet/docs-template
).
Documentation
Detailed documentation is available at prezet.com
Credits
License
The MIT License (MIT). Please see License File for more information.