Spintax Anidado

Cómo el anidamiento transforma el spinning plano en un potente motor de plantillas — y por qué el enfoque de Spintax.Net es el estándar.

¿Qué es el Spintax Anidado?

El spintax regular elige una opción aleatoria de una lista: {rojo|azul|verde} produce uno de tres colores. El spintax anidado coloca spintax dentro de spintax — como una matrioska, donde cada capa revela más variación en su interior.

Cuando el motor encuentra estructuras anidadas, las resuelve desde la expresión más interna hacia afuera. Las llaves interiores se evalúan primero, y su resultado pasa a formar parte de la expresión exterior.

{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.

Por qué importa el anidamiento

Sin anidamiento, tus opciones son planas. Tres enumeraciones con tres opciones cada una dan 3 + 3 + 3 = 9 fragmentos. Con anidamiento, los mismos elementos se combinan multiplicativamente: 3 × 3 × 3 = 27 variantes únicas a partir de una sola plantilla compacta.

Este crecimiento exponencial es la clave para generar contenido verdaderamente único. Una plantilla moderadamente compleja con enumeraciones y permutaciones anidadas puede producir miles o millones de resultados distintos — todo a partir de una sola fuente cuidadosamente elaborada.

Limitaciones comunes de otras herramientas

La mayoría de las herramientas de spintax solo manejan lo básico. Esto es lo que suele fallar:

  • Solo enumeración dentro de enumeración — soportan {a|{b|c}} pero nada más. Sin permutaciones, sin variables, sin includes dentro de otros elementos.
  • Límites de profundidad — muchos parsers fallan después de 2–3 niveles de anidamiento, produciendo silenciosamente resultados corruptos.
  • Sin limpieza — tras resolver estructuras anidadas, los espacios se colapsan, la puntuación se duplica, las mayúsculas se rompen. El resultado necesita edición manual.
  • Sin composabilidad — sin variables e includes, cada plantilla es una isla. Reutilizar bloques comunes significa copiar y pegar.

El enfoque de Spintax.Net

Spintax.Net implementa el anidamiento como una característica de primera clase, no como un añadido. Cinco decisiones de diseño lo hacen funcionar:

  1. Profundidad arbitraria — no hay límite de anidamiento. Diez niveles de profundidad funcionan igual que dos.
  2. Anidamiento entre elementos — enumeraciones dentro de permutaciones, permutaciones dentro de enumeraciones, variables con estructuras anidadas, includes que incorporan plantillas anidadas completas. Cualquier elemento dentro de cualquier otro.
  3. Resolución de adentro hacia afuera — el motor siempre resuelve desde el nivel más profundo hacia afuera. Esto hace que la evaluación sea predecible y depurable.
  4. Post-procesamiento inteligente — después de resolver todo el anidamiento, el motor corrige automáticamente las mayúsculas, elimina espacios duplicados, corrige el espaciado de puntuación y maneja los límites de oración. El resultado es texto limpio, no una concatenación en bruto.
  5. Seguridad — la detección de referencias circulares para #include previene bucles infinitos. Las reglas de ámbito de variables (runtime > local > global) previenen sobreescrituras accidentales.

De lo simple a lo avanzado

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 + Spintax Anidado

Los grandes modelos de lenguaje son excelentes escribiendo plantillas anidadas complejas. Un solo prompt puede producir una plantilla con múltiples niveles de anidamiento, bloques condicionales mediante variables y secciones reutilizables mediante includes.

El flujo de trabajo es simple: usa IA para crear la plantilla una vez, luego usa Spintax para generar variantes únicas de forma económica para siempre. Una llamada API para crear la plantilla. Cero llamadas API para generar cada variante. El spintax anidado es lo que hace esto económicamente viable — cuanto más profundo el anidamiento, más resultados únicos por plantilla.

Primeros pasos

¿Listo para usar spintax anidado en tus proyectos? Comienza con la referencia de sintaxis para la especificación completa, o prueba el plugin Spintax para WordPress para ver el anidamiento en acción.