- What is tomatophp/filament-blog used for?
- It is the public-facing presentation layer for a Filament-based blog, shipping Blade routes and templates for rendering posts, categories, and tags. The actual content model, including posts, categories, tags, media, and SEO fields, lives in the companion package tomatophp/filament-cms. In practice you install both: the CMS package owns the data and admin resources, while filament-blog renders the front end. If you are not already on Laravel, Filament, and CMS Builder, the value proposition is weak.
- How do I install tomatophp/filament-blog in a Laravel Filament panel?
- Require both tomatophp/filament-blog and tomatophp/filament-cms via Composer, then register the plugins in your panel provider with the CMS plugin first so resources resolve cleanly. Publish the config, migrations, and views, run php artisan migrate, and confirm the public routes exist with php artisan route:list | grep -i blog. Verify the publish tags actually ship before assuming the README install steps are complete. Budget a short spike to create one post in /admin and confirm it renders at the public route before doing any theming.
- Does filament-blog work without tomatophp/filament-cms?
- No. This package is the presentation layer only, and it depends on filament-cms for the content model and admin resources. Installing it alone gives you templates with no underlying posts, categories, or tags to render. Treat the two packages as a single unit in your dependency planning and version pinning.
- Which Laravel and Filament versions does filament-blog support?
- The exact supported Filament major is not clearly documented, so confirm it against your platform before committing. Because the package is tightly coupled to Filament internals such as panel plugin registration and resource APIs, a Filament v3 to v4 upgrade should be treated as a project rather than a routine composer update. Pin exact versions like 1.0.x instead of caret ranges so a silent minor release cannot cross a Filament major unnoticed.
- How do I change the /blog URL prefix in filament-blog?
- /blog is a very common prefix, so check php artisan route:list before and after installing to catch collisions with existing routes. Change the prefix in the package configuration rather than renaming your application's existing routes. Also watch for model-binding conflicts if your app already defines Post or Category models.
- Is filament-blog safe from XSS in rich post content?
- Post bodies are rendered unescaped, which is acceptable with trusted staff editors but becomes a real vulnerability as soon as imported legacy content or untrusted authors reach the editor. Sanitize HTML on save rather than relying on render-time escaping, and write at least one test that covers the sanitization path. This matters most during migrations from an older CMS.
- Does filament-blog include sitemap, RSS, canonical tags, or Open Graph support?
- No. SEO surfaces such as sitemaps, RSS or Atom feeds, canonical tags, Open Graph metadata, redirects, and structured data are not shipped and must be built yourself. The package does not expose a content API either, so server-rendered Blade is the delivery model you get. Plan that additional work into the estimate rather than expecting it from configuration.
- Does filament-blog support scheduled publishing, revisions, localization, or granular permissions?
- These capabilities are not evidenced by the package, so treat each as a scope change rather than a config toggle. Draft and publish workflows exist, but revision history, scheduled publishing, multi-language content, and per-role permissions would need to be built in the CMS layer. Surface these gaps to stakeholders before they arrive as sprint surprises.
- How do I customize the blog views and models in filament-blog?
- The package is MIT licensed and forkable, and it ships publishable config and view tags so you can override Blade templates in your application. Verify the filament-blog-views and filament-blog-migrations publish tags are actually present in the release you install, since install documentation can overstate what ships. Keep customizations in your own views where possible to reduce friction when upgrading.
- Is tomatophp/filament-blog production ready and actively maintained?
- Assess it with caution: it has a single maintainer, roughly ten stars, no known dependents, and no community changelog, so a breaking release could arrive without warning. Pin exact versions for both packages and verify the real tag history and release cadence on Packagist, since the listed last release date looks inconsistent with the package's apparent maturity. Validate the claim that a two-day rewrite is feasible with your own spike, and name an internal owner plus a funded exit path before adopting it.