Home

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:

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.