- How do I install Prezet in a Laravel application?
- Install it with Composer using composer require benbjurstrom/prezet, then publish the package config and migrations and run php artisan migrate. Create the markdown content directory, add your first post with front matter, and run the indexing command to populate the database. Finally wire up the package routes or point your own routes and Blade views at the Eloquent models it exposes. Expect a few hours for a bare install and a few days if you want a fully themed, production-styled blog.
- Does Prezet require a database to work?
- Yes. Prezet treats your markdown files on disk as the canonical source of truth and builds a derived index in the database so content can be queried, listed, and paginated through Eloquent models. That means you need to run the package migrations and keep the index in sync on every deploy. The upside is that content lives in version control and ships through your normal pull request and CI workflow, while still getting database-backed querying and relationships.
- Is running prezet:index safe on every deploy?
- The index is derived from files on disk, so rebuilding it on each deploy is the intended workflow and is designed to be repeatable rather than additive over time. The main operational concern is concurrency: avoid running the index command from multiple deploy workers simultaneously, and serialize it as a single step in your release pipeline. On larger sites, take a quick backup or snapshot before the first production run so you can verify the indexed row counts match your file count. If your deploy platform runs zero-downtime releases, run the index after the new code and content are in place.
- Which Laravel versions does Prezet support?
- Prezet follows standard Laravel package conventions and tracks framework majors promptly, with Laravel 13 support landing in v1.4.0. Always check the composer.json constraints for the exact version you are installing rather than assuming, since adding support for a new major can occasionally raise the minimum supported version. Version 1.4.0 was a minor release with no declared breaking changes, which is a good sign for upgrade safety under semver. Pin the package version in your lockfile and review the changelog before bumping.
- How do I customize the look of a Prezet blog?
- Rendering goes through Blade views, so you can publish the package views and override the layouts, post templates, and partials to match your application's design system. The config file is publishable too, letting you adjust routing, content paths, and other package behaviour without touching vendor code. Because everything is standard Laravel views and routes, existing Tailwind or CSS pipelines apply normally. Keep your overrides in version control and re-check them after minor upgrades in case the package's default markup changes.
- Does Prezet support front matter, and can I query it?
- Yes. Each markdown file carries front matter for metadata such as title, date, slug, and any custom fields you define, and that metadata is indexed into the database alongside the rendered content. Because posts are exposed as Eloquent models, you can query, filter, order, and paginate on those fields like any other model. Be mindful of numeric and date values in front matter: v1.4.0 included a fix for implicit float conversion, so verify that any numeric metadata renders as expected after upgrading. Keep front matter schemas consistent across posts to avoid null or mistyped columns in the index.
- Does Prezet generate a sitemap for SEO?
- Prezet includes sitemap generation so published markdown content is discoverable by search engines without a separate package. Sitemap output has changed in recent releases, including an update in v1.4.0, so diff the generated XML in staging after any upgrade before it hits production. Check that canonical URLs in the sitemap match the routes your app actually serves, particularly if you mount the blog under a prefix or custom domain. Submit the sitemap in your search console and confirm it stays current with each deploy.
- Is Prezet a good fit for non-technical content editors?
- Generally no. Prezet's authoring surface is markdown files in your repository, which means content changes go through pull requests, code review, and your normal deploy pipeline. That is excellent for developer-written blogs, docs, changelogs, and knowledge bases where you want content versioned next to code. If marketers or editors need a WYSIWYG interface, per-field permissions, or scheduled publishing without engineering involvement, a full CMS such as Statamic is a better fit. Some teams split the difference by having developers handle the pipeline while editors submit markdown through a simplified internal tool.
- How do I test a Prezet-powered blog in CI?
- Treat content like code: run the index command in your CI environment against a test database, then assert with standard Laravel HTTP tests that key routes return 200 and that expected titles or slugs appear in the response. Adding a check that every markdown file has valid front matter catches broken posts before they reach production. Because routes and views are ordinary Laravel constructs, your existing test suite and factories apply without special tooling. Assert against the sitemap output as well, since that is generated content and can regress independently of the pages themselves.
- What are alternatives to Prezet for Markdown content in Laravel?
- The closest comparisons are Statamic for a full-featured, editor-friendly CMS, static site generators like Jigsaw when the content does not need to live inside a Laravel app, and hand-rolled markdown routes using a parser plus your own Eloquent models. Prezet's differentiator is the combination of file-based authoring, a database index for querying, and native Blade rendering inside an existing Laravel application. If you need multi-tenant editorial workflows, granular per-field access control, or a WYSIWYG admin, the alternatives are likely a better match. If you want content reviewed in pull requests and shipped with your app, Prezet's model is a strong fit.