الفرق بين المراجعتين لصفحة: «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
|
يعمل المرشّح 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
|
at_most (خاص بالإصدار 4.0.1)
يَحُدّ من عددٍ ما إلى حد القيمة الأعلى.
الدخل | الخرج |
---|---|
{{ 4 | at_most: 5 }}
{{ 4 | at_most: 3 }}
|
4
|
capitalize
يجعل هذا المرشّح الحرف الأول من سلسلة نصية حرفًا كبيرًا ويحوّل الأحرف المتبقية إلى أحرف صغيرة.
الدخل | الخرج |
---|---|
{{ "title" | capitalize }}
|
Title
|
يُكتَب الحرف الأول فقط من السلسلة النصية كحرف كبير، لذلك لا تُكتَب الأحرف الأولى من الكلمات اللاحقة بأحرف كبيرة:
الدخل | الخرج |
---|---|
{{ "my GREAT title" | capitalize }}
|
My great title
|
ceil
يقرّب هذا المرشّح الدخل إلى أقرب عدد صحيح. تحاول لغة Liquid تحويل الدخل إلى عدد قبل تطبيق المرشّح.
الدخل | الخرج |
---|---|
{{ 1.2 | ceil }}
{{ 2.0 | ceil }}
{{ 183.357 | ceil }}
|
2
|
سنستخدم في المثال التالي قيمة الدخل كسلسلة نصية:
الدخل | الخرج |
---|---|
{{ "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.
|
لاحظ أن القيمة ستكون هي الوقت الحالي لآخر إنشاء للصفحة من القالب، وليس وقت تقديم الصفحة إلى المستخدم في حالة التخزين المؤقت أو إنشاء موقع ساكن.