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.

Principalele caracteristici noi/îmbunătățiri sunt:

  • Nu există alte dependențe externe decât Phobos
  • Extensibil/configurabil cu structuri de trăsături
  • Suportă sintaxa etichetelor inline și imbricate
  • Suportă interpolare de șiruri în nodurile de filtrare (revine la filtrele de execuție)
  • Acceptă utilizări arbitrare, altele decât generarea de HTML, de exemplu, îl folosim similar cu QML/XAML pentru cadrul nostru de interfață UI intern
  • API-ul este @safe și nothrow acolo unde este posibil
  • Folosește mai puțină memorie în timpul compilării
  • Suită completă de testare unitară utilizată pe tot parcursul dezvoltării
  • Suportă numele de atribute speciale AngularJS

Documentația API nu este încă disponibilă online, dar poate fi afișată rulând DUB:

Puteți încerca biblioteca direct sau împreună cu vibe.d, începând cu cele mai recente versiuni alfa de 0.7.30. Pur și simplu adăugați o dependență la „diet-ng”, versiunea „

> 1.1 ". Vibe.d va redirecționa automat toate randările! (.) Apelurile către diet-ng.

Postat la 15:01:03 +0200 de Sönke Ludwig

Comentariile pentru postare sunt în prezent dezactivate.