Untuk menampilkan artikel berupa collection jekyll, saya menggunakan kode dibawah ini. Masalahnya adalah jekyll ketika mengkompilasi collection, artikel diurut berdasarkan huruf (nama berkas) menyebabkan artikel yang paling terakhir tidak muncul di halaman depan ketika dibatasi hanya 4 berita yang tampil dihalaman depan.
{% for berita in site.berita limit: 4 %}
<div class="col-md-6 pb-4">
<div class="card">
<img class="card-img-top" src="{{baseurl}}{{ berita.gambar }}">
<div class="card-body">
<h5 class="card-title mb-2 font-asap">{{ berita.title }}</h5>
<p class="card-text"><small class="text-muted"> <i class="far fa-calendar-alt"></i> {{
berita.waktu }} <i class="fas fa-user-tie"></i> {{berita.penulis}}</small></p>
<a href="{{baseurl}}{{ berita.url }}" style="text-decoration: none" class="text-dark">
{{ berita.excerpt | strip_html | truncatewords: 30 }}
</a>
</div>
</div>
</div>
{% endfor %}
Setelah bertanya ke google, ada dua cara yang bisa dilakukan untuk menyelesaikan masalah diatas.
{% assign daftar-berita = site.berita | reverse %}
{% for berita in daftar-berita limit:4 %}
<div class="col-md-6 pb-4">
<div class="card">
<img class="card-img-top" src="{{ berita.gambar }}">
<div class="card-body">
<h5 class="card-title mb-2 font-asap">{{ berita.title }}</h5>
<p class="card-text"><small class="text-muted"> <i class="far fa-calendar-alt"></i> {{
berita.waktu }} <i class="fas fa-user-tie"></i> {{berita.penulis}}</small></p>
<a href="{{baseurl}}{{ berita.url }}" style="text-decoration: none" class="text-dark">
{{ berita.content | strip_html | truncatewords: 30 }}
</a>
<br>
</div>
</div>
</div>
{% endfor %}
---
layout: artikel
title: Opini Satu
gambar: /assets/img/gambar_umum/kegiatan-kampus.jpg
waktu: 12 Desember 2018
penulis: Said D. Bahta
nomor: 1
---
Dengan logik liquid seperti kode dibawah ini.
{% assign daftar-berita = site.berita | sort: 'nomor' | reverse %}
{% for berita in daftar-berita limit:4 %}
<div class="col-md-6 pb-4">
<div class="card">
<img class="card-img-top" src="{{ berita.gambar }}">
<div class="card-body">
<h5 class="card-title mb-2 font-asap">{{ berita.title }}</h5>
<p class="card-text"><small class="text-muted"> <i class="far fa-calendar-alt"></i> {{
berita.waktu }} <i class="fas fa-user-tie"></i> {{berita.penulis}}</small></p>
<a href="{{baseurl}}{{ berita.url }}" style="text-decoration: none" class="text-dark">
{{ berita.content | strip_html | truncatewords: 30 }}
</a>
<br>
</div>
</div>
</div>
{% endfor %}
Sementara ini saya menggunakan cara yang pertama karena lebih sederhana. Selain itu berkas markdown yang ada di dalam folder juga terurut dengan rapi.
[1] Sort Order Of Jekyll Collection
[2] Ordering Jekyll Collection