Nested Spintax

Come l'annidamento trasforma lo spinning piatto in un potente motore di template — e perché l'approccio Spintax.Net è lo standard.

Cos'è il Nested Spintax?

Lo spintax normale sceglie un'opzione casuale da un elenco: {red|blue|green} produce uno di tre colori. Il Nested Spintax inserisce spintax dentro altro spintax — come una matrioska, dove ogni strato rivela più variazione all'interno.

Quando il motore incontra strutture annidate, risolve dall'espressione più interna verso l'esterno. Le parentesi graffe interne vengono valutate per prime e il loro risultato diventa parte dell'espressione esterna.

{red|{dark|light} blue} car

Here {dark|light} resolves first (e.g. dark), producing {red|dark blue}. Then the outer enumeration picks one option: red or dark blue.

Perché l'annidamento è importante

Senza annidamento, le opzioni sono piatte. Tre enumerazioni con tre opzioni ciascuna danno 3 + 3 + 3 = 9 frammenti. Con l'annidamento, gli stessi elementi si combinano in modo moltiplicativo: 3 × 3 × 3 = 27 varianti uniche da un singolo template compatto.

Questa crescita esponenziale è la chiave per generare contenuti davvero unici. Un template moderatamente complesso con enumerazioni e permutazioni annidate può produrre migliaia o milioni di output distinti — il tutto da un'unica fonte accuratamente elaborata.

Limitazioni comuni di altri strumenti

La maggior parte degli strumenti spintax gestisce solo le basi. Ecco cosa va tipicamente storto:

  • Solo enum-in-enum — supportano {a|{b|c}} ma nient'altro. Nessuna permutazione, nessuna variabile, nessun include all'interno di altri elementi.
  • Limiti di profondità — molti parser si bloccano dopo 2–3 livelli di annidamento, producendo silenziosamente output corrotto.
  • Nessuna pulizia — dopo la risoluzione delle strutture annidate, gli spazi collassano, la punteggiatura si raddoppia, le maiuscole si rompono. Il risultato richiede modifica manuale.
  • Nessuna componibilità — senza variabili e include, ogni template è un'isola. Riutilizzare blocchi comuni significa copia-incolla.

L'approccio Spintax.Net

Spintax.Net implementa l'annidamento come funzionalità di prima classe, non come un ripensamento. Cinque decisioni di design lo rendono possibile:

  1. Profondità arbitraria — non c'è limite di annidamento. Dieci livelli di profondità funzionano come due.
  2. Annidamento tra elementi diversi — enumerazioni dentro permutazioni, permutazioni dentro enumerazioni, variabili contenenti strutture annidate, include che incorporano interi template annidati. Qualsiasi elemento dentro qualsiasi altro.
  3. Risoluzione dall'interno verso l'esterno — il motore risolve sempre dal livello più profondo verso l'esterno. Questo rende la valutazione prevedibile e facilmente debuggabile.
  4. Post-elaborazione intelligente — dopo che tutti gli annidamenti sono risolti, il motore corregge automaticamente le maiuscole, elimina gli spazi doppi, corregge la spaziatura della punteggiatura e gestisce i confini delle frasi. L'output è testo pulito, non concatenazione grezza.
  5. Sicurezza — il rilevamento dei riferimenti circolari per #include previene i cicli infiniti. Le regole di scope delle variabili (runtime > locale > globale) prevengono sovrascritture accidentali.

Dal semplice all'avanzato

1. Enum inside enum

{{premium|luxury} sedan|{compact|mid-size} SUV}

Inner enumerations resolve first, then the outer one picks a result. Possible outputs: premium sedan, luxury sedan, compact SUV, mid-size SUV.

2. Enum inside permutation

[<minsize=2;maxsize=3;sep=", ";lastsep=" and "> {red|blue} apples|{big|small} oranges|bananas]

Each permutation element contains its own enumeration. The engine resolves inner enumerations first, then shuffles and joins. Example output: blue apples, bananas and small oranges.

3. Variables with nested spintax

#set %product% = {{premium|budget} {laptop|tablet}|{smart|classic} phone}
#set %action% = {Buy|Get|Order}

%action% your new %product% today!

Variables store nested spintax and resolve each time they are referenced. Combined with multiple variables, the variant count multiplies rapidly.

4. Includes with nesting

/#  main template  #/
#include "hero-text"

{Check out|Discover|Explore} our [<, > features|plans|pricing].

The included template can itself contain enumerations, permutations, variables, and even further includes. Circular reference detection keeps everything safe.

IA + Nested Spintax

I grandi modelli linguistici sono eccellenti nella scrittura di template annidati complessi. Un singolo prompt può produrre un template con più livelli di annidamento, blocchi condizionali tramite variabili e sezioni riutilizzabili tramite include.

Il flusso di lavoro è semplice: usa l'IA per creare il template una volta, poi usa Spintax per generare varianti uniche a basso costo per sempre. Una chiamata API per creare il template. Zero chiamate API per generare ogni variante. Il Nested Spintax è ciò che rende tutto questo economicamente sostenibile — più profondo è l'annidamento, più output unici per template.

Per iniziare

Pronto a usare il Nested Spintax nei tuoi progetti? Inizia con il riferimento alla sintassi per la specifica completa, oppure prova il plugin Spintax per WordPress per vedere l'annidamento in azione.