notACMS 1.1.1 — Etykiety nawigacji z frontmatter i deploy bez nadpisywania treści
1.1.1 wprowadza etykiety nawigacji oparte na frontmatter (zamiast kluczy tłumaczeń) i naprawia błąd deploy --prod nadpisujący local/.
Etykiety nawigacji z frontmatter
Etykiety w nawigacji dla stron treści pochodzą teraz z frontmatter — nie z kluczy tłumaczeń. Wystarczy ustawić menu.label w frontmatter strony, a to ono stanie się etykietą w menu; jeśli go nie ma, użyty zostanie title.
---
title: "Przewodnik po architekturze"
slug: "architecture-guide"
menu:
label: "Architektura"
weight: 30
---
Nowa funkcja Twig content_item() pozwala pobrać dowolną stronę według klucza katalogu:
{{ content_item('architecture-guide', 'pl').menuLabel() }}
{# → "Architektura" (lub tytuł strony, jeśli menu.label nie jest ustawione) #}
Dlaczego to ważne: Wcześniej pliki messages.*.yaml w każdej lokalizacji musiały zawierać tłumaczenia dla nav.home, nav.blog, nav.about, nav.contact, nav.privacy_policy (core) oraz site.releases, site.about, site.manual, site.architecture, site.customization, site.locales, site.design_reference, site.contact (demo). Dodanie strony oznaczało aktualizację N plików tłumaczeń. Teraz wystarczy jedno pole w frontmatter. Własne szablony odwołujące się do usuniętych kluczy powinny przejść na content_item('key', locale).menuLabel().
Deploy nie nadpisuje już istniejącego local/
Błąd
Uruchomienie ./notACMS deploy --prod tworzyło kopię zapasową i nadpisywało cały katalog local/ zawartością docs/demo/ przy każdym deployu — nawet gdy zawierał twoją treść, szablony i dostosowania. Logika seedowania nie rozróżniała jawnego żądania ponownego seedowania motywu (--bare/--demo) od zwykłego redeployu z istniejącą treścią.
Naprawa
Deploy działa teraz dokładnie tak samo jak ddev build:
- Brak flagi
--bare/--demo→ seedujelocal/tylko jeśli nie istnieje lub jest puste; pomija, jeśli zawiera treść. - Przekazano
--barelub--demo→ tworzy kopię zapasową istniejącegolocal/i seeduje wybrany motyw.
./notACMS deploy --prod # zachowuje istniejące local/
./notACMS deploy --prod --demo # wymusza ponowne seedowanie z docs/demo/
./notACMS deploy --prod --bare # wymusza ponowne seedowanie z docs/bare/
--prod kontroluje teraz tylko flagi Composera (--no-dev) i środowisko uruchomieniowe (APP_ENV=prod). Nigdy nie modyfikuje local/.
Co jeszcze w 1.1.1
- Aktualizacja zależności: pakiety
symfony/polyfill-*zaktualizowane z v1.36.0 do v1.37.0. - Treść demo w języku polskim, niemieckim i francuskim zweryfikowana i ulepszona na wszystkich stronach i wpisach bloga.
- Przewodniki stylu tłumaczeń dodane do systemu umiejętności agenta AI dla języków polskiego, niemieckiego i francuskiego, aby zapewnić spójną jakość przyszłych tłumaczeń.
Pełna lista zmian
Wszystkie zmiany z kategoriami: CHANGELOG.md.