v2.6.2 (Lyra): Thema editor, content editor, unified scanEditorFiles

- Thema editor (thema's net zo bewerkbaar maken als plugins):
  bestandsbrowser zijbalk, nieuw bestand, uploaden, verwijderen,
  verplaatsen, SCSS compileren vanuit editor, thema activeren/
  verwijderen, nieuw thema met basis-kopie, uniforme thema-structuur
- Content editor (content consistent met plugins en thema's):
  bestandsbrowser zijbalk naast bestaande lijst weergave, nieuw
  bestand/map, uploaden, verwijderen, verplaatsen, mappen beheer,
  layout/plugins selectie, git/backup integratie in editor zijbalk
- Uniformiteit: scanEditorFiles() unified scanner
  (scanPluginFiles/scanThemeFiles/scanContentFiles als dunne wrappers)
- Media invoegen in editor: ?theme= scope voor media-list endpoint
- Bug fix: thema-naam niet overgenomen bij kopiëren - title in
  theme.json wordt overschreven met nieuwe themanaam
- Handleidingen bijgewerkt (thema-beheer.md + content-beheer.md NL/EN)
- Release notes: docs/release-notes/v2.6.2.md
- Pentest 30/30, WCAG 25/25
This commit is contained in:
2026-08-19 10:44:32 +00:00
parent 6d5ca7cab4
commit d91a5acf9b
21 changed files with 3253 additions and 176 deletions
@@ -13,6 +13,16 @@
<input type="text" class="form-control" id="name" name="name" required autofocus>
<small class="form-text text-muted">{{ ta.theme_name_help|default('Alleen letters, cijfers, underscores en streepjes.') }}</small>
</div>
<div class="mb-3">
<label for="base_theme" class="form-label">{{ ta.theme_base|default('Basis thema') }}</label>
<select class="form-select" id="base_theme" name="base_theme">
<option value="">{{ ta.theme_base_blank|default('(lege structuur)') }}</option>
{% for name in base_themes %}
<option value="{{ name }}">{{ name }}</option>
{% endfor %}
</select>
<small class="form-text text-muted">{{ ta.theme_base_help|default('Kies een bestaand thema als basis om te kopiëren, of start met een lege uniforme structuur. css_compiled/ wordt niet gekopieerd.') }}</small>
</div>
</div>
<div class="card-footer bg-white">
<button type="submit" class="btn btn-primary">