sanderjn/gustamic
Gustamic is a lightweight Laravel package that installs via Composer and plugs into your app with minimal setup. It offers a clean, expressive API, sensible defaults, and publishable configuration, so you can wire it up in minutes and customize it as your project grows.
This is a Statamic starter kit/theme for restaurant sites (menu pages, Restaurant Details, JSON-LD, analytics), verified against Statamic 6.35 / Laravel 13. Treat it as a starting point you fork into a project, not a runtime dependency you build around.
--no-interaction run now gives you a populated site instead of an empty one.sameAs./menu, so the slug is yours to change.Where to look first: the README (now includes a live demo link and image credits), the Restaurant Details fieldset, and the Antlers templates for the featured menu, footer, and JSON-LD partial. The demo is the fastest way to see intended layout before you start overriding.
Let the entry drive navigation. Don't reintroduce hardcoded menu URLs in your own templates. Resolve the menu page once ({{ nav:pages }}, a route lookup, or an entry reference in the blueprint) and reuse it across the featured menu section and footer. The v1.1.0 change makes slug renames safe; hand-written /menu links in custom sections will silently break that guarantee.
Centralise structured data in Restaurant Details. JSON-LD is generated from CP fields, and sameAs is derived from the configured social profiles. Add or remove a profile in the CP rather than editing templates. When you need extra schema (e.g. hasMenu, priceRange), extend the JSON-LD partial and keep reading values from the same fieldset so editors have one place to update.
Treat analytics as configuration. Analytics values come from CP fields and are now script-safe encoded. Keep IDs in Restaurant Details, not hardcoded in layouts, so per-environment config stays out of templates and you avoid a stray </script> breaking the page.
Override, don't edit vendor files. Publish or copy the theme's views into resources/views and the fieldset/blueprints into resources/fieldsets and resources/blueprints before customising. That keeps upgrades to v1.x tractable — v1.1.0 touched templates, JSON-LD, and asset loading, all of which you'd otherwise have to re-merge by hand.
Gate sample content per environment. Since non-interactive installs now import sample content by default, make the installer step explicit in your deploy script. On staging it's useful; on production you want a clean content tree. Run the install step as a deliberate, environment-guarded command rather than letting it ride along with an automated composer install.
Verify output, not just the CP. After editor changes, check the rendered JSON-LD with a validator and confirm the analytics snippet still parses. Script-safe encoding is the kind of fix that only shows up when someone pastes unusual characters into a field.
--no-interaction skipping sample content will now get demo pages, menu entries, and assets. Audit any automation that installs the kit before upgrading.sameAs. If JSON-LD validation complains about absent sameAs, the cause is an unfilled Restaurant Details field, not a template bug.|raw or your own json_encode in an override, you can undo the protection or produce visibly escaped output. Leave the encoding to the package and only adjust the surrounding markup.How can I help you explore Laravel packages today?