Spintax-syntaxreferentie

Volledige referentie voor spintax-sjabloonmarkup. De syntaxis is compatibel met de Generating The Web (GTW) standaard.

Enumeraties { }

Selecteert willekeurig één optie uit de lijst.

{option1|option2|option3}

Voorbeelden

{blue|grey|clear}
{|online|internet} casino        ← empty option = sometimes nothing
{1X{S|s}lots}                    ← nested enumerations
{license {|#8048} from Curacao}  ← nesting with empty option

Regels

  • Scheidingstekens: { en }
  • Separator: |
  • Ondersteunt nesting tot willekeurige diepte
  • Lege opties zijn geldig (produceren lege string)
  • Resolutie gaat van de binnenste expressie naar buiten

Permutaties [ ]

Selecteert N elementen, schudt ze en voegt ze samen met scheidingstekens.

Eenvoudige permutaties

Alle elementen opgenomen, gescheiden door spaties:

[1|2|3|4]

Uitvoervoorbeelden: 1 4 3 2, 2 3 4 1, 3 2 4 1

Met scheidingsteken

Uniform scheidingsteken opgegeven in < > aan het begin:

[<, > 1|2|3|4]

Uitvoervoorbeelden: 2, 1, 4, 3, 4, 3, 2, 1

Belangrijk: Geen spatie tussen [ en <scheidingsteken>.

Scheidingstekens per element

Elke optie kan een eigen scheidingsteken hebben, gedefinieerd met <sep> vóór de voorgaande |:

[<, > 1|2|3 < and >|4]

Uitvoervoorbeelden: 1, 3, 2 and 4, 3, 1, 2 and 4

Permutaties met combinaties

Configureerbaar minimum/maximum aantal elementen en scheidingstekens:

[<minsize=1;maxsize=3;sep=", ";lastsep=" and "> apple|plum|orange|apricot]

Uitvoervoorbeelden: apple, plum and orange, apple and apricot, orange

Configuratieparameters

ParameterStandaardBeschrijving
minsizeaantal van alleMinimum aantal te selecteren elementen
maxsizeaantal van alleMaximum aantal te selecteren elementen
sep" " (spatie)Scheidingsteken tussen niet-laatste items
lastsepgelijk aan sepScheidingsteken vóór het laatste element

Permutatieregels

  • Scheidingstekens: [ en ]
  • Configuratieblok <...> moet direct na [ volgen
  • Configuratieparameters worden gescheiden door puntkomma's
  • Tekenreekswaarden in configuratie staan tussen aanhalingstekens: sep=", "
  • Enumeraties en permutaties kunnen genest worden binnen opties
  • HTML-elementen kunnen opties zijn

Variabelen %var%

Definieert een herbruikbare variabele die overal waar deze voorkomt wordt gesubstitueerd.

#set %VARIABLE_NAME% = value or spintax structure

Voorbeelden

#set %name% = John
#set %greeting% = {Hello|Hi|Hey}
#set %items% = [<minsize=2;maxsize=3;sep=", ";lastsep=" and "> apples|oranges|bananas]
Some text with %name% and %greeting%, also %items%.

Variabelenregels

  • #set moet aan het begin van een regel staan
  • Variabelennamen staan tussen %: %naam%
  • Variabelennamen zijn alfanumeriek + underscore
  • Waarden kunnen elke spintax-syntaxis bevatten (enumeraties, permutaties, andere variabelen)
  • Variabelen worden geëxpandeerd wanneer ze worden gerefereerd, niet wanneer ze worden gedefinieerd (luie evaluatie)
  • #set-regels worden uit de uitvoer verwijderd

Variabelenbereiken in de WordPress-plugin

De plugin ondersteunt drie variabelenbereiken. Wanneer dezelfde naam in meerdere bereiken bestaat, wint het sterkste bereik:

  1. Runtime-variabelen (sterkste) — doorgegeven via shortcode: [spintax slug="greeting" name="Alice"]
  2. Lokale variabelen — gedefinieerd met #set in het sjabloon
  3. Globale variabelen (zwakste) — gedefinieerd op de pagina Instellingen

Includes #include

Sluit een ander sjabloon in op de positie van de directive.

#include "hero-text"

Include-regels

  • Sjabloonreferentie staat tussen dubbele aanhalingstekens
  • Wordt opgelost op basis van sjabloon-slug of numeriek ID
  • Ingesloten sjablonen kunnen hun eigen variabelen en spintax bevatten
  • Recursieve includes worden ondersteund
  • Circulaire referenties worden gedetecteerd en geblokkeerd
  • Kindsjablonen erven globale en runtime-variabelen maar niet de #set-lokalen van de ouder

Opmerkingen /#...#/

Tekst tussen opmerkingenmarkeringen wordt uit de uitvoer verwijderd vóór enige andere verwerking.

/#
  This is a comment section.
  It can span multiple lines.
  It won't appear in output.
#/

Opmerkingenregels

  • Beginscheidingsteken: /#
  • Eindscheidingsteken: #/
  • Kunnen meerdere regels beslaan
  • Kunnen niet genest worden
  • Verwijderd vóór enige andere verwerking

Nesting

Alle syntaxiselementen kunnen in willekeurige diepte in elkaar genest worden:

{option1|[<, > sub1|sub2|sub3]|option3}

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

#set %var% = {a|[b|c]}

Nabewerking

De engine past automatische tekstcorrectie toe na de generatie:

  1. Beschermt URLs, e-mails, domeinen, decimalen en afkortingen tegen hoofdlettergebruik
  2. Elimineert dubbele spaties en tabs
  3. Verwijdert spaties vóór interpunctie (, . ! ?)
  4. Voegt spatie toe na interpunctie waar deze ontbreekt
  5. Maakt de eerste letter van de uitvoer een hoofdletter (HTML-tags worden overgeslagen)
  6. Hoofdletter na zin-beëindigende interpunctie
  7. Hoofdletter na block-level HTML-tags
  8. Hoofdletter na regelafbrekingen
  9. Herstelt beschermde plaatshouders

Syntaxisoverzicht

FunctieSyntaxisGedrag
Enumeratie{a|b|c}Kiest een willekeurige optie
Permutatie[a|b|c]Kiest N, schudt, voegt samen
Scheidingsteken[<sep> a|b|c]Permutatie met uniform scheidingsteken
Sep per element[<,> a|b <x>|c]Permutatie met aangepaste scheidingstekens
Combinaties[<config> a|b|c]Permutatie met min/max-aantal
Variabele#set %var% = valHerbruikbare substitutie
Include#include "slug"Sluit een ander sjabloon in
Opmerking/#...#/Verwijderd uit uitvoer

De syntaxis is compatibel met de Generating The Web (GTW) standaard.