5 industry templates as JSON presets, each with theme + multi-page content:
- generic: clean minimal (homepage, about, contact)
- restaurant: warm tones, Playfair Display (homepage, about, menu, contact)
- construction: amber/earth tones, Montserrat (homepage, services, projects, contact)
- auto-parts: red/bold, parts-focused (homepage, catalog, contact)
- professional-services: navy/blue, Merriweather (homepage, services, team, contact)
Each template has:
- meta.json (name, description, tags, languages)
- theme.json (colors, fonts, layout, header style)
- pages/*.json (section-based homepage + content pages with i18n)
- {{placeholder}} variables for prospect data injection
TemplateService loads from templates_library/ directory with caching.
GET /admin/hosting/sites/templates endpoint to list available templates.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
40 lines
2.0 KiB
JSON
40 lines
2.0 KiB
JSON
{
|
|
"slug": "homepage",
|
|
"title": "{{business_name}}",
|
|
"template": "full",
|
|
"is_published": true,
|
|
"sections": {
|
|
"hero": {
|
|
"enabled": true,
|
|
"title": {"translations": {"en": "{{business_name}}", "fr": "{{business_name}}"}},
|
|
"subtitle": {"translations": {"en": "A culinary experience in {{city}}", "fr": "Une expérience culinaire à {{city}}"}},
|
|
"background_type": "image",
|
|
"buttons": [
|
|
{"label": {"translations": {"en": "Reserve a Table", "fr": "Réserver une table"}}, "url": "/contact", "style": "primary"},
|
|
{"label": {"translations": {"en": "See Our Menu", "fr": "Voir la carte"}}, "url": "/menu", "style": "secondary"}
|
|
]
|
|
},
|
|
"features": {
|
|
"enabled": true,
|
|
"title": {"translations": {"en": "Our Specialties", "fr": "Nos Spécialités"}},
|
|
"items": [
|
|
{"icon": "fire", "title": {"translations": {"en": "Fresh Ingredients", "fr": "Produits frais"}}, "description": {"translations": {"en": "Locally sourced, seasonal ingredients", "fr": "Produits locaux et de saison"}}},
|
|
{"icon": "star", "title": {"translations": {"en": "Chef's Selection", "fr": "Sélection du chef"}}, "description": {"translations": {"en": "Carefully crafted dishes by our expert chef", "fr": "Plats élaborés par notre chef expert"}}},
|
|
{"icon": "heart", "title": {"translations": {"en": "Warm Atmosphere", "fr": "Ambiance chaleureuse"}}, "description": {"translations": {"en": "A welcoming space for every occasion", "fr": "Un espace accueillant pour chaque occasion"}}}
|
|
]
|
|
},
|
|
"testimonials": {
|
|
"enabled": true,
|
|
"title": {"translations": {"en": "What Our Guests Say", "fr": "Ce que disent nos clients"}},
|
|
"items": []
|
|
},
|
|
"cta": {
|
|
"enabled": true,
|
|
"title": {"translations": {"en": "Ready to dine with us?", "fr": "Prêt à nous rendre visite ?"}},
|
|
"buttons": [
|
|
{"label": {"translations": {"en": "Make a Reservation", "fr": "Réserver"}}, "url": "/contact", "style": "primary"}
|
|
]
|
|
}
|
|
}
|
|
}
|