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>
22 lines
452 B
Python
22 lines
452 B
Python
# app/modules/hosting/schemas/template.py
|
|
"""Pydantic schemas for template responses."""
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class TemplateResponse(BaseModel):
|
|
"""Schema for a single template."""
|
|
|
|
id: str
|
|
name: str
|
|
description: str
|
|
tags: list[str] = []
|
|
languages: list[str] = []
|
|
pages: list[str] = []
|
|
|
|
|
|
class TemplateListResponse(BaseModel):
|
|
"""Schema for template list response."""
|
|
|
|
templates: list[TemplateResponse]
|