Vă prezentăm Diet-NG - vibe

Pentru a oferi un pic de fundal, limbajul șablonului Diet urmărește să ofere o modalitate de a defini pagini HTML/XML generate procedural (sau alte formate de ieșire), cu un zgomot vizual minim. Sintaxa și setul de caracteristici sunt puternic inspirate de pug https://pugjs.org/, dar în loc de JavaScript, toate expresiile și instrucțiunile sunt instrucțiuni D, iar tot ceea ce se poate face la compilație se face la compilație.

vibe

Un mic exemplu, care prezintă câteva dintre caracteristicile de bază:

Aceasta generează următoarea ieșire, scrisă într-un interval de ieșire în cel mai eficient mod posibil și fără nicio alocare de memorie dinamică (heap).

În prezent, Vibe.d conține în continuare implementarea originală, care a fost scrisă în jurul limitărilor motorului CTFE DMD în urmă cu ani, și este practic un analizor/generator monolitic cu puțină flexibilitate. De asemenea, îi lipsește o serie de caracteristici de limbaj convenabile, care sunt destul de greu de implementat datorită modului în care este scris motorul.

Noua implementare a fost rescrisă în mod curat, cu module de parser, modificator și generator separat, lucrând la o reprezentare intermediară comună a arborelui DOM. DOM-ul este disponibil public și poate fi modificat în mod arbitrar înainte de a-l transmite generatorului HTML, astfel încât să devină posibile multe aplicații noi.