BanditHijo.dev

Exclude Spesifik Value pada Jekyll Collection

Created at: 2020-07-21
Author by: BanditHijo

Sekenario Masalah

Saya memiliki collection berupa daftar dotfriends site.data.dotfriends yang memiliki attribute:

_data/dotfriends.yml
1- nama: 'Rizqi Nur Assyaufi'
2 github: 'bandithijo'
3
4- nama: 'Sucipto'
5 github: 'suciptoid'
6
7- nama: 'Agung Setiawan'
8 github: 'agungsetiawan'
9
10# ...
11# ...
Daftar dotfriends

- Rizqi Nur Assyaufi (bandithijo)
- Sucipto (suciptoid)
- Agung Setiawan (agungsetiawan)
- ...
- ...

Untuk menampilkan collection di atas, saya menggunakan cara seperti ini.

_pages/daftar_dotfriends.html
1<h1>Daftar dotfriends</h1>
2<ul>
3{% for friend in site.data.dotfriends %}
4 <li>{{ friend.nama }} ({{ friend.github }}</li>
5{% endfor %}
6</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

_pages/daftar_dotfriends.html
1<h1>Daftar dotfriends</h1>
2<ul>
3{% for friend in site.data.dotfriends %}
4 {% unless friend.nama contains 'Rizqi Nur Assyaufi' %}
5 <li>{{ friend.nama }}</li>
6 {% endunless %}
7{% endfor %}
8</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

_pages/daftar_dotfriends.html
1<h1>Daftar dotfriends</h1>
2<ul>
3{% for friend in site.data.dotfriends offset: 1 %}
4 <li>{{ friend.nama }}</li>
5{% endfor %}
6</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

  1. How can I exclude a specific Collection in “related-products.liquid”?
    Diakses tanggal: 2020/07/21

  2. shopify.github.io/liquid/tags/iteration/
    Diakses tanggal: 2020/07/21