Spintax Söz Dizimi Referansı
Spintax şablon işaretlemesi için eksiksiz referans. Söz dizimi, Generating The Web (GTW) standardı ile uyumludur.
Sıralamalar { }
Listeden rastgele bir seçenek seçer.
{option1|option2|option3}
Örnekler
{blue|grey|clear}
{|online|internet} casino ← empty option = sometimes nothing
{1X{S|s}lots} ← nested enumerations
{license {|#8048} from Curacao} ← nesting with empty option
Kurallar
- Sınırlayıcılar:
{ve} - Ayırıcı:
| - Rastgele derinlikte iç içe geçmeyi destekler
- Boş seçenekler geçerlidir (boş dize üretir)
- Çözümleme en içteki ifadeden dışa doğru
Permütasyonlar [ ]
N öğe seçer, karıştırır ve ayırıcılarla birleştirir.
Basit permütasyonlar
Tüm öğeler dahil, boşlukla ayrılmış:
[1|2|3|4]
Çıktı örnekleri: 1 4 3 2, 2 3 4 1, 3 2 4 1
Ayırıcı ile
Başlangıçta < > içinde belirtilen tek tip ayırıcı:
[<, > 1|2|3|4]
Çıktı örnekleri: 2, 1, 4, 3, 4, 3, 2, 1
Önemli: [ ve <ayırıcı> arasında boşluk olmamalıdır.
Öğe başına ayırıcılar
Her seçenek, önceki | işaretinden önce <sep> ile kendi ayırıcısını tanımlayabilir:
[<, > 1|2|3 < and >|4]
Çıktı örnekleri: 1, 3, 2 and 4, 3, 1, 2 and 4
Kombinasyonlu permütasyonlar
Yapılandırılabilir minimum/maksimum öğe sayısı ve ayırıcılar:
[<minsize=1;maxsize=3;sep=", ";lastsep=" and "> apple|plum|orange|apricot]
Çıktı örnekleri: apple, plum and orange, apple and apricot, orange
Yapılandırma parametreleri
| Parametre | Varsayılan | Açıklama |
|---|---|---|
minsize | tümünün sayısı | Seçilecek minimum öğe sayısı |
maxsize | tümünün sayısı | Seçilecek maksimum öğe sayısı |
sep | " " (boşluk) | Son olmayan öğeler arasındaki ayırıcı |
lastsep | sep ile aynı | Son öğeden önceki ayırıcı |
Permütasyon kuralları
- Sınırlayıcılar:
[ve] - Yapılandırma bloğu
<...>hemen[sonrasında gelmelidir - Yapılandırma parametreleri noktalı virgülle ayrılır
- Yapılandırmadaki dize değerleri tırnak içindedir:
sep=", " - Sıralamalar ve permütasyonlar seçeneklerin içinde iç içe geçebilir
- HTML öğeleri seçenek olabilir
Değişkenler %var%
Göründüğü her yerde yerine geçirilen yeniden kullanılabilir bir değişken tanımlar.
#set %VARIABLE_NAME% = value or spintax structure
Örnekler
#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%.
Değişken kuralları
#setsatırın başında olmalıdır- Değişken adları
%ile çevrelenir:%ad% - Değişken adları alfanümerik + alt çizgi
- Değerler herhangi bir spintax söz dizimi içerebilir (sıralamalar, permütasyonlar, diğer değişkenler)
- Değişkenler tanımlandığında değil, referans verildiğinde genişletilir (tembel değerlendirme)
#setsatırları çıktıdan kaldırılır
WordPress eklentisinde değişken kapsamları
Eklenti üç değişken kapsamını destekler. Aynı ad birden fazla kapsamda bulunduğunda, en güçlü kapsam kazanır:
- Çalışma zamanı değişkenleri (en güçlü) — kısa kod ile geçirilir:
[spintax slug="greeting" name="Alice"] - Yerel değişkenler — şablon içinde
#setile tanımlanır - Genel değişkenler (en zayıf) — Ayarlar sayfasında tanımlanır
Dahil Etme #include
Direktifin konumunda başka bir şablonu gömer.
#include "hero-text"
Dahil etme kuralları
- Şablon referansı çift tırnak içindedir
- Şablon slug'ı veya sayısal ID ile çözümlenir
- Dahil edilen şablonlar kendi değişkenlerini ve spintax'ını içerebilir
- Özyinelemeli dahil etmeler desteklenir
- Döngüsel referanslar algılanır ve engellenir
- Alt şablonlar genel ve çalışma zamanı değişkenlerini miras alır ancak üst öğenin
#setyerellerini miras almaz
Yorumlar /#...#/
Yorum işaretleri arasındaki metin, diğer işlemlerden önce çıktıdan kaldırılır.
/#
This is a comment section.
It can span multiple lines.
It won't appear in output.
#/
Yorum kuralları
- Başlangıç sınırlayıcı:
/# - Bitiş sınırlayıcı:
#/ - Birden fazla satıra yayılabilir
- İç içe geçemez
- Diğer işlemlerden önce kaldırılır
İç İçe Geçme
Tüm söz dizimi öğeleri rastgele derinlikte birbirinin içine yerleştirilebilir:
{option1|[<, > sub1|sub2|sub3]|option3}
[<minsize=2;maxsize=3;sep=", ";lastsep=" and "> {red|blue} apples|{big|small} oranges|bananas]
#set %var% = {a|[b|c]}
Son İşleme
Motor, oluşturma sonrası otomatik metin düzeltmesi uygular:
- URL'leri, e-postaları, alan adlarını, ondalık sayıları ve kısaltmaları büyük harften korur
- Yinelenen boşlukları ve sekmeleri temizler
- Noktalama işaretlerinden önceki boşlukları kaldırır (
,.!?) - Eksik olan yerlerde noktalama işaretlerinden sonra boşluk ekler
- Çıktının ilk harfini büyük yapar (HTML etiketlerini atlar)
- Cümle sonu noktalama işaretlerinden sonra büyük harf
- Blok düzeyinde HTML etiketlerinden sonra büyük harf
- Satır sonlarından sonra büyük harf
- Korunan yer tutucuları geri yükler
Söz Dizimi Özeti
| Özellik | Söz Dizimi | Davranış |
|---|---|---|
| Sıralama | {a|b|c} | Rastgele bir seçenek seçer |
| Permütasyon | [a|b|c] | N tane seç, karıştır, birleştir |
| Ayırıcı | [<sep> a|b|c] | Tek tip ayırıcılı permütasyon |
| Öğe başına ayırıcı | [<,> a|b <x>|c] | Özel ayırıcılı permütasyon |
| Kombinasyonlar | [<config> a|b|c] | Min/maks sayılı permütasyon |
| Değişken | #set %var% = val | Yeniden kullanılabilir değiştirme |
| Dahil etme | #include "slug" | Başka bir şablonu gömer |
| Yorum | /#...#/ | Çıktıdan kaldırılır |
Söz dizimi Generating The Web (GTW) standardı ile uyumludur.