# theme.json ```json { "title": "Mijn Thema", "config": { "default_template": "full_content" }, "template": { "full_content": "full_content.twig", "left_sidebar": "left_sidebar.twig", "right_sidebar": "right_sidebar.twig", "custom1": "custom1.twig", "guide": "guide.twig" } } ``` ## Velden - `title` — Weergavenaam in admin - `config.default_template` — Standaard layout voor pagina's zonder `layout:` frontmatter (fallback bij onbekende layouts) - `template` — Mapping van layout naam naar `.twig` bestand ## Template mapping De `template` mapping definieert welke layouts beschikbaar zijn. Elke key is een layout naam, elke value is het `.twig` bestand: | Layout naam | Twig bestand | Beschrijving | |-------------|--------------|--------------| | `full_content` | `full_content.twig` | Volledige breedte, geen sidebar | | `left_sidebar` | `left_sidebar.twig` | Sidebar links | | `right_sidebar` | `right_sidebar.twig` | Sidebar rechts | | `custom1` | `custom1.twig` | Custom layout | | `guide` | `guide.twig` | Handleiding met sidebar (Navigation plugin) | ## Layout keuze - Layouts worden gekozen via frontmatter `layout:` key in content bestanden - Onbekende layouts vallen terug op `config.default_template` - `ThemeManager::getTemplates()` geeft de template mapping terug - `ThemeManager::getConfig()` geeft de config sectie terug (inclusief `default_template`) ## Guide layout De `guide` layout is speciaal voor handleidingen. `getGuidePage()` in `CodePressCMS.php` injecteert automatisch de Navigation plugin in de metadata voor zijbalk navigatie.