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

ParametreVarsayılanAçıklama
minsizetümünün sayısıSeçilecek minimum öğe sayısı
maxsizetümünün sayısıSeçilecek maksimum öğe sayısı
sep" " (boşluk)Son olmayan öğeler arasındaki ayırıcı
lastsepsep 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ı

  • #set satı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)
  • #set satı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:

  1. Çalışma zamanı değişkenleri (en güçlü) — kısa kod ile geçirilir: [spintax slug="greeting" name="Alice"]
  2. Yerel değişkenler — şablon içinde #set ile tanımlanır
  3. 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 #set yerellerini 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:

  1. URL'leri, e-postaları, alan adlarını, ondalık sayıları ve kısaltmaları büyük harften korur
  2. Yinelenen boşlukları ve sekmeleri temizler
  3. Noktalama işaretlerinden önceki boşlukları kaldırır (, . ! ?)
  4. Eksik olan yerlerde noktalama işaretlerinden sonra boşluk ekler
  5. Çıktının ilk harfini büyük yapar (HTML etiketlerini atlar)
  6. Cümle sonu noktalama işaretlerinden sonra büyük harf
  7. Blok düzeyinde HTML etiketlerinden sonra büyük harf
  8. Satır sonlarından sonra büyük harf
  9. Korunan yer tutucuları geri yükler

Söz Dizimi Özeti

ÖzellikSöz DizimiDavranış
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% = valYeniden 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.