Nexus 2.0 е голяма актуализация на шаблона: нова основа с Astro 7 и Tailwind CSS v4, светове за ребрандиране с един ред конфигурация и по-голяма библиотека от компоненти. Тя е резултат от месеци инженерна работа, дизайнерски итерации и обратна връзка от общността.
Какво е новото
Nexus 2.0 е изграден върху Astro 7 и Tailwind CSS v4. Страниците се рендерират до HTML по подразбиране, а клиентският JavaScript се включва само при нужда: повечето интерактивност е реализирана с обикновени скриптове, които се изпълняват в жизнения цикъл astro:page-load на Astro, а React се използва единствено за островите за визуализация на данни, изградени с Recharts.
Работата със съдържанието е изцяло преосмислена около колекциите със съдържание на Astro с валидиране на схемите чрез Zod. Публикациите в блога, профилите на авторите, честите въпроси, услугите и отзивите са типизирани колекции, така че липсващо поле или невалидна дата прекъсва компилацията, вместо да публикува счупена страница.
Светове: ребрандиране на едно място
Най-голямата промяна в 2.0 са световете. Светът е предварителна настройка от дизайн токени, която променя облика на целия шаблон, включително палитрата, повърхностите, заобленията, плътността, анимациите и заглавния шрифт, само с един ред в nexus.config.ts:
world: { preset: "proof" },
Днес са налични шест предварителни настройки: nexus, неутралната идентичност по подразбиране; proof, фотографско портфолио; automotive, автомобилен шоурум в цветове шампанско и бронз; shop, топъл магазин за занаятчийски стоки; editorial, малко списание; и enterprise, продуктов сайт за мониторинг на инфраструктура. Освен предварителната настройка можете поотделно да настроите radius, density, motion и material. Компонентите четат само токени и никога не знаят кой свят е активен, затова ребрандирането не означава ровене из файловете на компонентите.
По-голяма библиотека от компоненти
Библиотеката от компоненти е организирана на слоеве, за да работите на нивото, което отговаря на задачата:
- UI примитиви като Button, Card, Modal, Accordion, Combobox, DataGrid и DatePicker, всеки с типизирани props и CVA варианти.
- Секции като Hero, Features, Pricing, FAQ и CTA за бързо сглобяване на маркетингови страници.
- Композиции на страници за екрани с много данни, включително оформления за запис, досие, табло и сравнение.
- Графики, включително площна, стълбовидна, кръгова (donut), линейна, радарна, топлинна карта и диапазонна, стилизирани със същите токени като всичко останало.
Компонентите за данни следват общ набор от състояния (зареждане, празно, грешка и данни), така че таблото никога не показва празен панел, когато заявка се провали.
Създаден за реални проекти
Няколко основи за продукционна среда са включени, вместо да бъдат оставени като упражнение:
- Пет езика веднага: английски, немски, френски, испански и български, за основните страници и блога, с преведени URL адреси и избор на език.
- Светла и тъмна тема, които по подразбиране следват системната настройка на посетителя (може да се зададе тъмна или светла), с превключвател, който запомня избора му.
- Търсене в сайта с Pagefind, RSS емисия, карта на сайта и генерирани Open Graph изображения за публикациите в блога.
- Незадължителна автентикация с Better Auth, която се включва с една команда
pnpm auth:enable. - Основи за съгласие за бисквитки и правни страници, които настройвате според собствените си потоци от данни. Те са отправна точка, а не правен съвет.
Функциите се управляват с флагове, а командата pnpm prune:features премахва цели групи функции, от които нямате нужда, с режим на пробно изпълнение, който показва плана, преди нещо да бъде променено.
Надграждане
Nexus 2.0 е съществено преструктуриране, затова подхождайте към надграждането като към миграция, а не като към обикновена актуализация. Най-надеждният път е да започнете от чисто копие на шаблона, да изберете свят и да пренесете съдържанието и конфигурацията си. Колекциите със съдържание веднага ще ви кажат, ако някой frontmatter вече не отговаря на схемата.
Какво предстои
Като следваща стъпка ще продължим да разширяваме библиотеката от компоненти и предварителните настройки на световете, както и да подобряваме документацията за адаптиране на всяка рецепта към вашите собствени проекти.