مرجع صياغة 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

تدعم الإضافة ثلاثة نطاقات للمتغيرات. عندما يوجد نفس الاسم في نطاقات متعددة، يفوز النطاق الأقوى:

  1. متغيرات وقت التشغيل (الأقوى) — تُمرر عبر الشورت كود: [spintax slug="greeting" name="Alice"]
  2. المتغيرات المحلية — تُعرَّف بـ #set داخل القالب
  3. المتغيرات العامة (الأضعف) — تُعرَّف في صفحة الإعدادات

التضمينات #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]}

المعالجة اللاحقة

يطبق المحرك تصحيحًا تلقائيًا للنص بعد التوليد:

  1. يحمي عناوين URL والبريد الإلكتروني والنطاقات والأعداد العشرية والاختصارات من التكبير
  2. يزيل المسافات وعلامات التبويب المكررة
  3. يزيل المسافات قبل علامات الترقيم (, . ! ?)
  4. يضيف مسافة بعد علامات الترقيم عند فقدانها
  5. يجعل الحرف الأول من المخرجات كبيرًا (مع تخطي وسوم HTML)
  6. تكبير بعد علامات ترقيم نهاية الجملة
  7. تكبير بعد وسوم HTML على مستوى الكتلة
  8. تكبير بعد فواصل الأسطر
  9. استعادة العناصر النائبة المحمية

ملخص الصياغة

الميزةالصياغةالسلوك
التعداد{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).