Liquid

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

لغة Liquid هي لغة قوالب آمنة وموجَّهة للعملاء لتطبيقات الويب المرنة، وهي لغة قوالب مفتوحة المصدر أنشأتها منصة شوبيفاي Shopify وكُتِبت بلغة روبي Ruby، وهي العمود الفقري لقوالب شوبيفاي وتُستخدَم لتحميل محتوى ديناميكي على واجهات المتاجر.

اُستخدِمت لغة Liquid في الإنتاج ضمن شوبيفاي منذ عام 2006 وتستخدمها الآن تطبيقات استضافة ويب أخرى متعددة.

يمكنك تنزليها أو الاطلاع عليها على GitHub.

مدخل إلى لغة Liquid

تستخدم لغة Liquid مزيجًا من الكائنات objects والوسوم tags والمرشّحات filters ضمن ملفات القالب template لعرض محتوى ديناميكي متغير.

الكائنات Objects

تحتوي الكائنات على المحتوى الذي تعرضه لغة Liquid على الصفحة، حيث تُعرَض الكائنات والمتغيرات عند وضعها ضمن أقواس معقوصة مزدوجة {{ و }}.

{{ page.title }}

الخرج:

Introduction

تعرض لغة Liquid في هذه الحالة محتوى خاصية العنوان title لكائن الصفحة page الذي يحتوي على النص Introduction.

الوسوم Tags

تُنشِئ الوسوم منطق وتحكم تدفق القوالب. لا تنتج محدّدات النسبة المئوية للقوس المعقوص {% و %} والنص المُحاط بهما أيَّ خرج مرئي عند تصيير rendered القالب. يتيح لك هذا إسناد متغيرات وإنشاء شروط أو حلقات بدون إظهار منطق لغة Liquid على الصفحة.

{% if user %}
  Hello {{ user.name }}!
{% endif %}

خرج الشيفرة:

  Hello Adam!

يمكن تصنيف الوسوم إلى أنواع مختلفة هي:

اطّلع على المزيد عن كل نوع من الوسوم في الأقسام الخاصة بها.

المرشحات Filters

تغيّر المرشحات خرج كائن أو متغيّر لغة Liquid، وتُستخدَم ضمن الأقواس المزدوجة المعقوصة {{ }} والوسوم ذات النوع إسناد متغيرات variable assignment ويُفصَل بينهما بمحرف الشريط العمودي |.

{{ "/my/fancy/url" | append: ".html" }}

الخرج:

/my/fancy/url.html

يمكن استخدام مرشّحات متعددة على خرج واحد، إذ تُطبَّق المرشّحات من اليسار إلى اليمين:

{{ "adam!" | capitalize | prepend: "Hello " }}

الخرج:

Hello Adam!

التطبيقات التي تستخدم لغة Liquid

web-applications.png

وغيرها الكثير.

الأساسيات

المعاملات Operators

شرح المعاملات المنطقية ومعاملات موازنة متعددة التي تحتويها Liquid، ويمكنك استخدام هذه المعاملات لإنشاء منطق مع الوسوم ذات النوع control flow (تحكم في تدفق أو خط سير الشيفرة).

نوعا القيم الصحيحة Truthy والخطأ Falsy في Liquid

يشرح هذا القسم أنواع البيانات التي تُقيَّم على أنها صح true أو خطأ false.

أنواع البيانات في لغة Liquid

تشرح هذه الصفحة أنواع البيانات التي تحويها لغة Liquid وكيفية التعامل معها.

إصدارات Liquid

يعرض الإصدارات الأكثر شيوعًا من لغة Liquid الموجودة وهي Liquid و Shopify Liquid و Jekyll Liquid.

التحكم بالمسافات الفارغة Whitespace في Liquid

تتيح Liquid آليةً للتحكم بالمسافات الفارغة عند تصيير الشيفرة وطباعتها في قالب HTML، إذ يُحوَّل أي سطر من شيفرة Liquid في القالب إلى سطر إضافي ضمن ملف HTML المصيَّر حتى إن لم يحتوي ذلك السطر على نص لطباعته فيه، لذا وجب توفير آلية للتحكم بتلك الأسطر والمسافات الفارغة.

الوسوم Tags

وسوم التحكم في تدفق وسير التنفيذ في Liquid

يعرض وسوم التحكم في تدفق وسير التنفيذ Control flow tags التي تحدّد تنفيذ كتل شيفرة Liquid أم لا وتتحكم في تدفق سير تنفيذ شيفرة Liquid.

وسوم التكرار Iteration في Liquid

يعرض الوسوم التكرارية التي تحويها Liquid والتي تنفِّذ كتلًا من الشيفرة تكراريًا.

وسوم القالب Template tags

يعرض الوسوم الخاصة بالقالب التي تحويها Liquid والتي تخبر لغةَ Liquid بمكان تعطيل معالجة التعليقات أو الشيفرة التي ليست تابعة للغة Liquid، وكيفية إنشاء علاقات بين ملفات القوالب.

وسوم المتغيرات في Liquid

يعرض الوسوم الخاصة بالمتغيرات التي تنشئ متغيرات Liquid جديدة.

المرشحات Filters

يعرض هذا القسم كل المرشحات الموجودة في Liquid.

المصدر