مرجع صياغة Spintax
مرجع كامل لترميز قوالب spintax. الصياغة متوافقة مع معيار Generating The Web (GTW).
التعدادات { }
يختار عشوائيًا خيارًا واحدًا من القائمة.
{option1|option2|option3}
أمثلة
{blue|grey|clear}
{|online|internet} casino ← empty option = sometimes nothing
{1X{S|s}lots} ← nested enumerations
{license {|#8048} from Curacao} ← nesting with empty option
القواعد
- المحددات:
{و} - الفاصل:
| - يدعم التداخل إلى عمق عشوائي
- الخيارات الفارغة صالحة (تنتج سلسلة فارغة)
- الحل يبدأ من التعبير الأعمق نحو الخارج
التباديل [ ]
يختار N عنصرًا ويخلطها ويجمعها بفواصل.
تباديل بسيطة
جميع العناصر مضمنة، مفصولة بمسافات:
[1|2|3|4]
أمثلة المخرجات: 1 4 3 2، 2 3 4 1، 3 2 4 1
مع فاصل
فاصل موحد محدد في < > في البداية:
[<, > 1|2|3|4]
أمثلة المخرجات: 2, 1, 4, 3، 4, 3, 2, 1
مهم: لا مسافة بين [ و <الفاصل>.
فواصل لكل عنصر
يمكن لكل خيار أن يكون له فاصل خاص به محدد بـ <sep> قبل | السابق:
[<, > 1|2|3 < and >|4]
أمثلة المخرجات: 1, 3, 2 and 4، 3, 1, 2 and 4
تباديل مع تركيبات
عدد أدنى/أقصى قابل للتكوين من العناصر والفواصل:
[<minsize=1;maxsize=3;sep=", ";lastsep=" and "> apple|plum|orange|apricot]
أمثلة المخرجات: apple, plum and orange، apple and apricot، orange
معاملات التكوين
| المعامل | الافتراضي | الوصف |
|---|---|---|
minsize | عدد الكل | الحد الأدنى لعدد العناصر المطلوب اختيارها |
maxsize | عدد الكل | الحد الأقصى لعدد العناصر المطلوب اختيارها |
sep | " " (مسافة) | الفاصل بين العناصر غير الأخيرة |
lastsep | مثل sep | الفاصل قبل العنصر الأخير |
قواعد التباديل
- المحددات:
[و] - كتلة التكوين
<...>يجب أن تتبع مباشرة[ - معاملات التكوين مفصولة بفاصلة منقوطة
- قيم السلاسل النصية في التكوين بين علامتي اقتباس:
sep=", " - يمكن تداخل التعدادات والتباديل داخل الخيارات
- عناصر HTML يمكن أن تكون خيارات
المتغيرات %var%
يحدد متغيرًا قابلاً لإعادة الاستخدام يتم استبداله أينما يظهر.
#set %VARIABLE_NAME% = value or spintax structure
أمثلة
#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%.
قواعد المتغيرات
#setيجب أن يبدأ في بداية السطر- أسماء المتغيرات محاطة بـ
%:%name% - أسماء المتغيرات أبجدية رقمية + شرطة سفلية
- القيم يمكن أن تحتوي على أي صياغة spintax (تعدادات، تباديل، متغيرات أخرى)
- المتغيرات تُوسَّع عند الإشارة إليها، وليس عند تعريفها (تقييم كسول)
- أسطر
#setتُزال من المخرجات
نطاقات المتغيرات في إضافة WordPress
تدعم الإضافة ثلاثة نطاقات للمتغيرات. عندما يوجد نفس الاسم في نطاقات متعددة، يفوز النطاق الأقوى:
- متغيرات وقت التشغيل (الأقوى) — تُمرر عبر الشورت كود:
[spintax slug="greeting" name="Alice"] - المتغيرات المحلية — تُعرَّف بـ
#setداخل القالب - المتغيرات العامة (الأضعف) — تُعرَّف في صفحة الإعدادات
التضمينات #include
يدمج قالبًا آخر في موضع التوجيه.
#include "hero-text"
قواعد التضمين
- مرجع القالب بين علامتي اقتباس مزدوجتين
- يُحل بواسطة slug القالب أو المعرّف الرقمي
- القوالب المضمنة يمكن أن تحتوي على متغيراتها و spintax الخاصة بها
- التضمينات العودية مدعومة
- المراجع الدائرية يتم اكتشافها وحظرها
- القوالب الفرعية ترث المتغيرات العامة ومتغيرات وقت التشغيل لكن ليس محليات
#setالخاصة بالأب
التعليقات /#...#/
النص بين علامات التعليق يُزال من المخرجات قبل أي معالجة أخرى.
/#
This is a comment section.
It can span multiple lines.
It won't appear in output.
#/
قواعد التعليقات
- محدد البداية:
/# - محدد النهاية:
#/ - يمكن أن تمتد على عدة أسطر
- لا يمكن تداخلها
- تُزال قبل أي معالجة أخرى
التداخل
جميع عناصر الصياغة يمكن تداخلها مع بعضها البعض إلى عمق عشوائي:
{option1|[<, > sub1|sub2|sub3]|option3}
[<minsize=2;maxsize=3;sep=", ";lastsep=" and "> {red|blue} apples|{big|small} oranges|bananas]
#set %var% = {a|[b|c]}
المعالجة اللاحقة
يطبق المحرك تصحيحًا تلقائيًا للنص بعد التوليد:
- يحمي عناوين URL والبريد الإلكتروني والنطاقات والأعداد العشرية والاختصارات من التكبير
- يزيل المسافات وعلامات التبويب المكررة
- يزيل المسافات قبل علامات الترقيم (
,.!?) - يضيف مسافة بعد علامات الترقيم عند فقدانها
- يجعل الحرف الأول من المخرجات كبيرًا (مع تخطي وسوم HTML)
- تكبير بعد علامات ترقيم نهاية الجملة
- تكبير بعد وسوم HTML على مستوى الكتلة
- تكبير بعد فواصل الأسطر
- استعادة العناصر النائبة المحمية
ملخص الصياغة
| الميزة | الصياغة | السلوك |
|---|---|---|
| التعداد | {a|b|c} | يختار خيارًا عشوائيًا |
| التبديل | [a|b|c] | يختار N، يخلط، يجمع |
| الفاصل | [<sep> a|b|c] | تبديل مع فاصل موحد |
| فاصل لكل عنصر | [<,> a|b <x>|c] | تبديل مع فواصل مخصصة |
| التركيبات | [<config> a|b|c] | تبديل مع عدد أدنى/أقصى |
| المتغير | #set %var% = val | استبدال قابل لإعادة الاستخدام |
| التضمين | #include "slug" | يدمج قالبًا آخر |
| التعليق | /#...#/ | يُزال من المخرجات |
الصياغة متوافقة مع معيار Generating The Web (GTW).