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
| Parameter | Standaard | Beschrijving |
|---|---|---|
minsize | aantal van alle | Minimum aantal te selecteren elementen |
maxsize | aantal van alle | Maximum aantal te selecteren elementen |
sep | " " (spatie) | Scheidingsteken tussen niet-laatste items |
lastsep | gelijk aan sep | Scheidingsteken 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
#setmoet 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:
- Runtime-variabelen (sterkste) — doorgegeven via shortcode:
[spintax slug="greeting" name="Alice"] - Lokale variabelen — gedefinieerd met
#setin het sjabloon - 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:
- Beschermt URLs, e-mails, domeinen, decimalen en afkortingen tegen hoofdlettergebruik
- Elimineert dubbele spaties en tabs
- Verwijdert spaties vóór interpunctie (
,.!?) - Voegt spatie toe na interpunctie waar deze ontbreekt
- Maakt de eerste letter van de uitvoer een hoofdletter (HTML-tags worden overgeslagen)
- Hoofdletter na zin-beëindigende interpunctie
- Hoofdletter na block-level HTML-tags
- Hoofdletter na regelafbrekingen
- Herstelt beschermde plaatshouders
Syntaxisoverzicht
| Functie | Syntaxis | Gedrag |
|---|---|---|
| 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% = val | Herbruikbare substitutie |
| Include | #include "slug" | Sluit een ander sjabloon in |
| Opmerking | /#...#/ | Verwijderd uit uitvoer |
De syntaxis is compatibel met de Generating The Web (GTW) standaard.