Go from markdown files to SEO-friendly blogs, articles, and documentation in seconds!
prezethd.mov
- Installs in seconds: Set up your project with a single command.
- Automatic Image Optimization: Streamline your media with automated compression, WebP conversion, and responsive srcset handling.
- Dynamic Table of Contents: Automatically generate a nested, scroll-synced TOC from your article's H2 and H3 headings.
- Validated Frontmatter: Validate and cast frontmatter data into structured DTOs for consistency across your content.
- SUMMARY.md Support: Organize your blog level hierarchy with simple headings and links.
- Configurable Markdown: Tailor CommonMark extensions, route settings, and front matter DTOs through the package's configuration file.
- 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.
- Complete Customization: Prezet is built on top of modular action classes allowing you full customization of the package's built in controllers.
composer create-project laravel/laravel prezet
cd prezet
git init && git add . && git commit -m "Initial commit"
composer require benbjurstrom/prezet
php artisan prezet:install
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 frontmatter information from your markdown files. Run this command whenever you:
- Add a new markdown file
- Change a markdown file's slug
- Modify frontmatter 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.
php artisan serve
Check out your new markdown blog at http://localhost:8000/prezet
Access detailed documentation at prezet.com
The MIT License (MIT). Please see License File for more information.