Merge development v2.6.0 into main
Resolved conflicts by taking development (v2.6.0) version for all files. Removed statistics.twig (replaced by Statistics plugin).
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
# Layouts
|
||||
|
||||
Layouts definiëren de pagina structuur (sidebar links, volledige breedte, etc.). Layouts worden gedefinieerd in `theme.json` en gekozen via frontmatter in content bestanden.
|
||||
|
||||
## Layout kiezen in content
|
||||
|
||||
```markdown
|
||||
@@ -16,58 +14,19 @@ Content...
|
||||
|
||||
## Layouts in theme.json
|
||||
|
||||
Layouts worden gedefinieerd in de `template` mapping. De `config.default_template` is de fallback voor pagina's zonder `layout:` frontmatter of met een onbekende layout:
|
||||
|
||||
```json
|
||||
{
|
||||
"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"
|
||||
}
|
||||
"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"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Layout template
|
||||
|
||||
Een layout template extends `base.twig` en vult het `content` block:
|
||||
|
||||
```twig
|
||||
{% extends 'base.twig' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container">
|
||||
{{ content|raw }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
```
|
||||
|
||||
## Layouts met sidebar
|
||||
|
||||
Layouts met sidebar kunnen plugin content tonen:
|
||||
|
||||
```twig
|
||||
{% extends 'base.twig' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row">
|
||||
<main class="col-md-8">
|
||||
{{ content|raw }}
|
||||
</main>
|
||||
<aside class="col-md-4">
|
||||
{{ sidebar_content|raw }}
|
||||
</aside>
|
||||
</div>
|
||||
{% endblock %}
|
||||
```
|
||||
|
||||
Als een pagina geen plugins heeft of de layout geen sidebar bevat, is `sidebar_content` leeg.
|
||||
|
||||
## Guide layout
|
||||
|
||||
De `guide` layout (`guide.twig`) is speciaal voor handleidingen. Het injecteert de Navigation plugin in de sidebar voor zijbalk navigatie. Wordt automatisch gebruikt voor pagina's in de `guide/` map.
|
||||
Onbekende layouts in frontmatter vallen terug op `config.default_template`.
|
||||
@@ -22,4 +22,5 @@ Maak basis bestanden:
|
||||
- `full_content.twig`
|
||||
- `partials/header.twig`
|
||||
- `partials/footer.twig`
|
||||
- `scss/theme.scss`
|
||||
- `scss/theme.scss`
|
||||
- `guide.twig` (indien handleidingen ondersteund moeten worden)
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
1. Ga naar **Admin** → **Thema**
|
||||
2. Klik **SCSS compileren** bij jouw thema
|
||||
3. CSS wordt gegenereerd in `assets/css/theme.css`
|
||||
3. CSS wordt gegenereerd in `assets/css_compiled/theme.css`
|
||||
|
||||
## SCSS voorbeeld
|
||||
|
||||
|
||||
@@ -2,45 +2,24 @@
|
||||
|
||||
```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"
|
||||
}
|
||||
"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"
|
||||
},
|
||||
"header_color": "#0a369d"
|
||||
}
|
||||
```
|
||||
|
||||
## 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.
|
||||
- `title` - Weergavenaam in admin
|
||||
- `config.default_template` - Standaard layout voor nieuwe pagina's
|
||||
- `template` - Mapping van layout namen naar .twig bestanden
|
||||
- `header_color` - (optioneel) Kleur admin sidebar, standaard `#0a369d`
|
||||
Reference in New Issue
Block a user