Awesome
<div align="center"> <img src="https://prezet.com/ogimage.png" width="600" alt="PREZET"> </div> <p align="center"> <a href="https://packagist.org/packages/benbjurstrom/prezet"><img src="https://img.shields.io/packagist/v/benbjurstrom/prezet.svg?style=flat-square" alt="Latest Version on Packagist"></a> <a href="https://github.com/benbjurstrom/prezet/actions?query=workflow%3Arun-tests+branch%3Amain"><img src="https://img.shields.io/github/actions/workflow/status/benbjurstrom/prezet/run-tests.yml?branch=main&label=tests&style=flat-square" alt="GitHub Tests Action Status"></a> <a href="https://github.com/benbjurstrom/prezet/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain"><img src="https://img.shields.io/github/actions/workflow/status/benbjurstrom/prezet/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square" alt="GitHub Code Style Action Status"></a> </p>Prezet: Markdown Blogging for Laravel
Go from markdown files to SEO-friendly blogs, articles, and documentation in seconds!
https://github.com/benbjurstrom/prezet/assets/12499093/771efccc-6ac3-414a-a852-62ce66e87f57
Table of contents
🌟 Features
✅ Installs in seconds<br>Set up your project with a single command.
✅ Automatic Image Optimization<br>Automated image compression, scaling, and responsive srcset handling.
✅ SQLite Index<br>Indexes your markdown files to support search, pagination, sorting, and filtering.
✅ Validated Front Matter<br>Cast front matter into validated DTOs for consistency across your content.
✅ Open Graph (OG) images<br>Generate OG images from front matter using a customizable template.
✅ Dynamic Table of Contents<br>Automatically generate a nested, scroll-synced TOC from your article's headings.
✅ SEO Optimization<br>Automatically generate meta tags based on front matter data for better search engine discoverability.
✅ Blade Components<br>Include Laravel Blade components in your markdown for enriched, interactive content.
✅ Complete Customization<br>Prezet is built to allow full customization of your routes, front matter, and blade templates.
🚀 Quick start
Install the Prezet package:
composer require benbjurstrom/prezet
Run the package installer:
⚠️ NOTE: Before running the installer on an existing application it is recommended to switch to a clean branch so you can see the changes Prezet made during the installation process.
php artisan prezet:install
Update the index:
After adding or modifying your markdown files, you need to update the index to reflect these changes:
php artisan prezet:index
This command updates the SQLite index with the latest front matter information from your markdown files. Run this command whenever you:
- Add a new markdown file
- Change a markdown file's slug
- Modify front matter and want to see those changes reflected on the index page
Note that changes to the main content of your markdown files don't require updating the index, as this content is read directly from the file when displaying a single post.
Start your server:
php artisan serve
Check out your new markdown blog at http://localhost:8000/prezet
Documentation
Detailed documentation available at prezet.com
Credits
License
The MIT License (MIT). Please see License File for more information.