Mengenal RSS Feed

Panduan Singkat Membuat RSS Feed pada Jekyll

posted to Web on 27 March 2017

Bagi para blogger mungkin sudah tidak asing tentang RSS, sebuah teknologi yang memungkinkan kita untuk berlangganan artikel pada sebuah situs web tertentu. Pada Jekyll untuk menghasilkan sebuah RSS Feed dapat menggunakan dua buah cara yaitu :

  • Menggunakan Plugin Jekyll - jekyll-feed

  • Menggunakan Liquid

Pada kesempatan ini kita akan membahas cara kedua, yaitu menggunakan Liquid. Sebuah RSS Feed sebenarnya adalah sebuah berkas .xml yang memiliki meta data mengenai sebuah situs, yang diikuti dengan konten dari situs tersebut. Umumnya berupa artikel yang diposkan oleh penulis lengkap dengan judul, deskripsi, tanggal terbit dan juga link. Ketika seseorang berlangganan RSS Feed dari sebuah situs maka aggregator mereka akan secara periodik memeriksa dokumen .xml ini untuk item baru.

Untuk membuat RSS Feed menggunakan Liquid, pertama-tama kita perlu membuat berkas rss.xml atau feed.xml pada direktori utama jekyll. Berikut adalah contoh isi rss.xml untuk linhub.io yang berisi :

---
layout: null
title : RSS Feed
---

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
        <title>{{ site.title | xml_escape }}</title>
        <description>{{ site.title | xml_escape }} - {{ site.author.name | xml_escape }}</description>
        <link>{{ site.production_url }}</link>
        <atom:link href="{{ site.production_url }}{{ site.JB.rss_path }}" rel="self" type="application/rss+xml" />
        <lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
        <pubDate>{{ site.time | date_to_rfc822 }}</pubDate>
        <ttl>60</ttl>

{% for post in site.posts limit:20 %}
        <item>
                <title>{{ post.title | xml_escape }}</title>
                <description>{{ post.content | xml_escape }}</description>
                <link>{{ site.production_url }}{{ post.url | uri_escape }}</link>
                <guid>{{ site.production_url }}{{ post.id }}</guid>
                <pubDate>{{ post.date | date_to_rfc822 }}</pubDate>
                {% for cat in post.categories %}
                        <category>{{ cat | xml_escape }}</category>
                {% endfor %}
        </item>
{% endfor %}
</channel>
</rss>

Semua variable yang ada dalam berkas tersebut didefinisikan dalam _config.yml. Tag yang wajib ada pada sebuah RSS Feed antara lain:

  • <title> - Nama dari kanal RSS

  • <link> - URL untuk situs

  • <description> - Deskripsi dari isi feed

Lalu bagaimana agar aggregator secara otomatis mendeteksi RSS Feed kita, hal ini dilakukan dengan menambahkan link pada <head> di _layouts\default.html

<link rel="alternate" type="application/rss+xml" title="linhub" href="/rss.xml">

Dengan begitu RSS Feed kita dapat diakses oleh aggregator RSS. Ada beberapa tag yang dapat digunakan dalam membuat berkas .xml ini, silahkan gunakan referensi ini sebagai acuan. Pada tulisan Pak Haji Mimin di sini disebutkan mengenai Bamboo Feed Reader sebagai favorit beliau untuk Feed Reader, namun saya lebih memilih NewsFox sebagai Feed Reader hal ini dikarenakan tampilan dari NewsFox yang mirip dengan mail client.

NewsFox

Selain itu NewsFox, juga dapat mengkategorikan artikel sesuai yang dipetakan oleh pemilik situs dengan meta <category>.

Ayo bagi RSS Feed situsmu pada komentar dibawah …


Pair With Me!
Comments? Contact me via Twitter or e-mail.