Exclude Spesifik Value pada Jekyll Collection
Sekenario Masalah
Saya memiliki collection berupa daftar dotfriends site.data.dotfriends
yang memiliki attribute:
!filename: _data/dotfriends.yml
- nama: 'Rizqi Nur Assyaufi'
github: 'bandithijo'
- nama: 'Sucipto'
github: 'suciptoid'
- nama: 'Agung Setiawan'
github: 'agungsetiawan'
# ...
# ...
Daftar dotfriends
- Rizqi Nur Assyaufi (bandithijo)
- Sucipto (suciptoid)
- Agung Setiawan (agungsetiawan)
- ...
- ...
Untuk menampilkan collection di atas, saya menggunakan cara seperti ini.
!filename: _pages/daftar_dotfriends.html
<h1>Daftar dotfriends</h1>
<ul>
{% for friend in site.data.dotfriends %}
<li>{{ friend.nama }} ({{ friend.github }}</li>
{% endfor %}
</ul>
Namun, Saya tidak ingin menampilkan nama saya pada collection dotfriends tersebut.
Pemecahan Masalah
Nah, untuk mengecualikan (exclude) nama saya “Rizqi Nur Assyaufi” di dalam collection site.data.dotfriends.
1. contains
!filename: _pages/daftar_dotfriends.html
<h1>Daftar dotfriends</h1>
<ul>
{% for friend in site.data.dotfriends %}
{% unless friend.nama contains 'Rizqi Nur Assyaufi' %}
<li>{{ friend.nama }}</li>
{% endunless %}
{% endfor %}
</ul>
Baris ke 4, adalah negasi dari kondisi if (unless) untuk nama yang mengandung “Rizqi Nur Assyaufi”. Kondisi inilah yang membuat nama saya tidak ikut ditampilkan.
2. offset
!filename: _pages/daftar_dotfriends.html
<h1>Daftar dotfriends</h1>
<ul>
{% for friend in site.data.dotfriends offset: 1 %}
<li>{{ friend.nama }}</li>
{% endfor %}
</ul>
Baris ke 3, offset: 1
, saya meletakkan nama saya pada index pertama di dalam collection. Sehingga saya dapat menggunakan offset
untuk mengecualikannya.
Hasilnya akan seperti ini,
Daftar dotfriends
- Sucipto (suciptoid)
- Agung Setiawan (agungsetiawan)
- ...
- ...
Selesai!!!
Saya rasa hanya ini yang dapat saya tuliskan saat ini.
Mudah-mudahan dapat bermanfaat untuk teman-teman.
Terima kasih.
(^_^)
Referensi
-
How can I exclude a specific Collection in “related-products.liquid”?
Diakses tanggal: 2020/07/21 -
shopify.github.io/liquid/tags/iteration/
Diakses tanggal: 2020/07/21