الفرق بين المراجعتين لصفحة: «Liquid/filters»

من موسوعة حسوب
أنشأ الصفحة ب'== المرشّحات Filters == === abs === يعيد هذا المرشّح قيمة عدد المطلقة. {| class="wikitable" |+ !الدخل |- |<syntaxhighlight lan...'
 
لا ملخص تعديل
سطر 181: سطر 181:
</syntaxhighlight>
</syntaxhighlight>
|}
|}
=== concat (خاص بالإصدار 4.0.0) ===
يربط (يضم معًا) مصفوفات متعددة، إذ تحتوي المصفوفة الناتجة على جميع العناصر من مصفوفات الدخل.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% assign fruits = "apples, oranges, peaches" | split: ", " %}
{% assign vegetables = "carrots, turnips, potatoes" | split: ", " %}
{% assign everything = fruits | concat: vegetables %}
{% for item in everything %}
- {{ item }}
{% endfor %}
</syntaxhighlight>
|<syntaxhighlight lang="liquid">
- apples
- oranges
- peaches
- carrots
- turnips
- potatoes
</syntaxhighlight>
|}
يمكنك تجميع مرشّحات <code>concat</code> متعددة معًا لضم أكثر من مصفوفتين.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{% assign furniture = "chairs, tables, shelves" | split: ", " %}
{% assign everything = fruits | concat: vegetables | concat: furniture %}
{% for item in everything %}
- {{ item }}
{% endfor %}
</syntaxhighlight>
|<syntaxhighlight lang="liquid">
- apples
- oranges
- peaches
- carrots
- turnips
- potatoes
- chairs
- tables
- shelves
</syntaxhighlight>
|}
=== date ===
يحوّل هذا المرشّح العلامة الزمنية timestamp إلى تنسيق تاريخ date آخر، فتنسيق هذه الصيغة هو <code>[http://strftime.net/ strftime]</code> نفسه. يستخدم الدخل تنسيق <code>[https://ruby-doc.org/stdlib-3.0.2/libdoc/time/rdoc/Time.html#method-c-parse Time.parse]</code> الخاص بلغة روبي Ruby نفسه.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{{ article.published_at | date: "%a, %b %d, %y" }}
</syntaxhighlight>
|<syntaxhighlight lang="liquid">
Fri, Jul 17, 15
</syntaxhighlight>
|}
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{{ article.published_at | date: "%Y" }}
</syntaxhighlight>
|<syntaxhighlight lang="liquid">
2015
</syntaxhighlight>
|}
يعمل المرشّح <code>date</code> مع السلاسل النصية إذا احتوت على تواريخ جيدة التنسيق.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
{{ "March 14, 2016" | date: "%b %d, %y" }}
</syntaxhighlight>
|<syntaxhighlight lang="liquid">
Mar 14, 16
</syntaxhighlight>
|}
يمكنك الحصول على الوقت الحالي من خلال تمرير الكلمة الخاصة <code>"now"</code> (أو <code>"today"</code>) إلى المرشّح <code>date</code>.
{| class="wikitable"
!الدخل
!الخرج
|-
|<syntaxhighlight lang="liquid">
This page was last updated at {{ "now" | date: "%Y-%m-%d %H:%M" }}.
</syntaxhighlight>
|<syntaxhighlight lang="liquid">
This page was last updated at 2021-04-28 17:52.
</syntaxhighlight>
|}
لاحظ أن القيمة ستكون هي الوقت الحالي لآخر إنشاء للصفحة من القالب، وليس وقت تقديم الصفحة إلى المستخدم في حالة التخزين المؤقت أو إنشاء موقع ساكن.

مراجعة 09:25، 3 أغسطس 2021

المرشّحات Filters

abs

يعيد هذا المرشّح قيمة عدد المطلقة.

الدخل
{{ -17 | abs }}
{{ 4 | abs }}
الخرج
17

4

يعمل المرشّح abs أيضًا مع سلسلة نصية تحتوي على عدد فقط.

الدخل
{{ "-19.86" | abs }}
الخرج
19.86

append

يضيف هذا المرشّح السلسلة النصية المحددة إلى نهاية سلسلة نصية أخرى.

الدخل
{{ "/my/fancy/url" | append: ".html" }}
الخرج
/my/fancy/url.html

يمكن للمرشّح append أيضًا قبول متغير كوسيطٍ له.

الدخل الخرج
{% assign filename = "/index.html" %}
{{ "website.com" | append: filename }}
website.com/index.html

at_least (خاص بالإصدار 4.0.1)

يَحُدّ من عددٍ ما إلى حد القيمة الأدنى.

الدخل الخرج
{{ 4 | at_least: 5 }}
{{ 4 | at_least: 3 }}
5

4

at_most (خاص بالإصدار 4.0.1)

يَحُدّ من عددٍ ما إلى حد القيمة الأعلى.

الدخل الخرج
{{ 4 | at_most: 5 }}
{{ 4 | at_most: 3 }}
4

3

capitalize

يجعل هذا المرشّح الحرف الأول من سلسلة نصية حرفًا كبيرًا ويحوّل الأحرف المتبقية إلى أحرف صغيرة.

الدخل الخرج
{{ "title" | capitalize }}
Title

يُكتَب الحرف الأول فقط من السلسلة النصية كحرف كبير، لذلك لا تُكتَب الأحرف الأولى من الكلمات اللاحقة بأحرف كبيرة:

الدخل الخرج
{{ "my GREAT title" | capitalize }}
My great title

ceil

يقرّب هذا المرشّح الدخل إلى أقرب عدد صحيح. تحاول لغة Liquid تحويل الدخل إلى عدد قبل تطبيق المرشّح.

الدخل الخرج
{{ 1.2 | ceil }}
{{ 2.0 | ceil }}
{{ 183.357 | ceil }}
2

2

184

سنستخدم في المثال التالي قيمة الدخل كسلسلة نصية:

الدخل الخرج
{{ "3.5" | ceil }}
4

compact (خاص بالإصدار 4.0.0)

يزيل هذا المرشّح أي قيم nil من المصفوفة.

افترض في المثال التالي أن site.pages عبارة عن مجموعة من صفحات محتوى موقع ويب، وبعض هذه الصفحات لها سِمة تسمى category تحدّد فئة محتوى الصفحة. إذا ربطنا map هذه الفئات مع مصفوفة، فقد تكون بعض قيم عناصر المصفوفة nil إن لم تتضمن صفحةٌ ما السمة category.

الدخل الخرج
{% assign site_categories = site.pages | map: "category" %}

{% for category in site_categories %}
- {{ category }}
{% endfor %}
- business
- celebrities
-
- lifestyle
- sports
-
- technology

لكن يمكننا إزالة جميع قيم nil في المصفوفة باستخدام المرشّح compact عند إنشاء المصفوفة site_categories.

الدخل الخرج
{% assign site_categories = site.pages | map: "category" | compact %}

{% for category in site_categories %}
- {{ category }}
{% endfor %}
- business
- celebrities
- lifestyle
- sports
- technology

concat (خاص بالإصدار 4.0.0)

يربط (يضم معًا) مصفوفات متعددة، إذ تحتوي المصفوفة الناتجة على جميع العناصر من مصفوفات الدخل.

الدخل الخرج
{% assign fruits = "apples, oranges, peaches" | split: ", " %}
{% assign vegetables = "carrots, turnips, potatoes" | split: ", " %}

{% assign everything = fruits | concat: vegetables %}

{% for item in everything %}
- {{ item }}
{% endfor %}
- apples
- oranges
- peaches
- carrots
- turnips
- potatoes

يمكنك تجميع مرشّحات concat متعددة معًا لضم أكثر من مصفوفتين.

الدخل الخرج
{% assign furniture = "chairs, tables, shelves" | split: ", " %}

{% assign everything = fruits | concat: vegetables | concat: furniture %}

{% for item in everything %}
- {{ item }}
{% endfor %}
- apples
- oranges
- peaches
- carrots
- turnips
- potatoes
- chairs
- tables
- shelves

date

يحوّل هذا المرشّح العلامة الزمنية timestamp إلى تنسيق تاريخ date آخر، فتنسيق هذه الصيغة هو strftime نفسه. يستخدم الدخل تنسيق Time.parse الخاص بلغة روبي Ruby نفسه.

الدخل الخرج
{{ article.published_at | date: "%a, %b %d, %y" }}
Fri, Jul 17, 15
الدخل الخرج
{{ article.published_at | date: "%Y" }}
2015

يعمل المرشّح date مع السلاسل النصية إذا احتوت على تواريخ جيدة التنسيق.

الدخل الخرج
{{ "March 14, 2016" | date: "%b %d, %y" }}
Mar 14, 16

يمكنك الحصول على الوقت الحالي من خلال تمرير الكلمة الخاصة "now" (أو "today") إلى المرشّح date.

الدخل الخرج
This page was last updated at {{ "now" | date: "%Y-%m-%d %H:%M" }}.
This page was last updated at 2021-04-28 17:52.

لاحظ أن القيمة ستكون هي الوقت الحالي لآخر إنشاء للصفحة من القالب، وليس وقت تقديم الصفحة إلى المستخدم في حالة التخزين المؤقت أو إنشاء موقع ساكن.