Frontend
Use this section if you build or test the public site with Blade, Livewire, or Inertia.
Render Pages Safely
Section titled “Render Pages Safely”| I need to… | Read |
|---|---|
| Protect anonymous public output | Public HTML safety |
| Understand the render pipeline | Frontend guide |
| Resolve site, page, and language loading | Page and site loading |
| Configure server fallback and static cache | Server config |
| Work with themes | Frontend themes |
| Render media safely | Media rendering |
Add Frontend Capabilities
Section titled “Add Frontend Capabilities”| I need to… | Read |
|---|---|
| Choose how to compose a page | Build a page |
| Add and configure frontend widgets | Widgets |
| Build with Inertia | Capell Inertia runtime |
| Add interactive widgets or fragments | Capell Interactions |
| Register render hooks | Render hooks |
| Register package Tailwind assets | Tailwind assets |
| Enable Blaze safely | Blaze support |
| Find optional frontend packages | Packages and extensions |
Test And Troubleshoot
Section titled “Test And Troubleshoot”| I need to… | Read |
|---|---|
| Test public output | Frontend testing |
| Debug public output or cache bypasses | Debugging public output |
| Resolve symlinked Tailwind CSS issues | Tailwind v4 with symlinked vendor CSS |
Public HTML Safety
Section titled “Public HTML Safety”Anonymous users, signed-in non-admin users, crawlers, cached HTML, and static exports must never receive authoring markers, model IDs, field paths, permissions, package names, selectors, signed editor URLs, or editor scripts.
In-page editing belongs to capell-app/frontend-authoring. It decorates the page only after an authenticated admin beacon response.
Use the public HTML safety contract before changing rendering, themes, cache output, render hooks, or frontend package views. Public Blade should receive hydrated render data rather than query or lazy-load models.
Use Operations for production cache and stale-output incidents.