Plugin
24 Apr 2025 -
Plugin Jekyll: Memperluas Fungsionalitas Static Site Generator
Jekyll adalah salah satu static site generator (SSG) paling populer yang digunakan untuk membuat website statis dengan performa tinggi. Plugin Jekyll memungkinkan pengembang untuk memperluas fungsionalitas dasar Jekyll dan menyesuaikan proses build sesuai kebutuhan.
Pengertian Plugin Jekyll
Plugin Jekyll adalah gem Ruby yang mengintegrasikan diri dengan proses build Jekyll untuk menambah fungsionalitas baru, mengubah perilaku default, atau menambahkan tag Liquid baru. Plugin memungkinkan pengguna untuk menyesuaikan Jekyll tanpa harus memodifikasi kode sumbernya.
Kategori Plugin Jekyll
Jekyll plugin umumnya dibagi dalam lima kategori utama:
- Generators: Membuat konten tambahan saat build
- Converters: Mengkonversi format konten non-standar menjadi HTML
- Commands: Menambahkan perintah CLI ke Jekyll
- Tags: Menambahkan tag Liquid kustom
- Filters: Menambahkan filter Liquid kustom
Cara Menginstal Plugin Jekyll
1. Melalui Bundler (Disarankan)
Tambahkan ke Gemfile
:
group :jekyll_plugins do
gem "jekyll-feed"
gem "jekyll-seo-tag"
gem "jekyll-sitemap"
end
Lalu jalankan:
bundle install
Tambahkan di _config.yml
:
plugins:
- jekyll-feed
- jekyll-seo-tag
- jekyll-sitemap
2. Instalasi Manual
gem install jekyll-feed jekyll-seo-tag jekyll-sitemap
Tambahkan juga ke _config.yml
seperti di atas.
3. Plugin Lokal
- Buat folder
_plugins
- Tambahkan file Ruby
.rb
ke dalamnya - Jekyll akan memuatnya otomatis saat build
Plugin Jekyll Populer
1. SEO Tag
gem "jekyll-seo-tag"
Gunakan di layout:
{% seo %}
2. Jekyll Feed
gem "jekyll-feed"
Gunakan:
{% feed_meta %}
3. Sitemap
gem "jekyll-sitemap"
4. Archives
gem "jekyll-archives"
Konfigurasi di _config.yml
:
jekyll-archives:
enabled:
- categories
- tags
layouts:
category: archive-category
tag: archive-tag
permalinks:
category: /categories/:name/
tag: /tags/:name/
5. Paginate V2
gem "jekyll-paginate-v2"
Konfigurasi:
pagination:
enabled: true
per_page: 10
permalink: '/page/:num/'
title: ':title - Halaman :num'
limit: 0
sort_field: 'date'
sort_reverse: true
Membuat Plugin Sendiri
Contoh struktur plugin generator:
module Jekyll
class MyPlugin < Generator
safe true
priority :low
def generate(site)
# plugin logic
end
end
end
Membuat Tag Liquid Baru
module Jekyll
class CurrentTimeTag < Liquid::Tag
def initialize(tag_name, format, tokens)
super
@format = format.strip
end
def render(context)
Time.now.strftime(@format)
end
end
end
Liquid::Template.register_tag('current_time', Jekyll::CurrentTimeTag)
Gunakan di template:
{% current_time "%Y-%m-%d %H:%M:%S" %}
Membuat Filter Liquid Baru
module Jekyll
module CustomFilters
def capitalize_all(input)
input.split(" ").map(&:capitalize).join(" ")
end
end
end
Liquid::Template.register_filter(Jekyll::CustomFilters)
Gunakan:
{{ "ini adalah teks contoh" | capitalize_all }}
Catatan GitHub Pages
Plugin kustom tidak didukung langsung di GitHub Pages, kecuali kamu build lokal dan push hasil _site/
. Plugin yang didukung GitHub Pages secara default:
- jekyll-feed
- jekyll-seo-tag
- jekyll-sitemap
- jekyll-paginate
- dll
Kesimpulan
Plugin Jekyll sangat berguna untuk menambah fitur seperti SEO, sitemap, feed, hingga custom tag dan filter. Untuk fitur beyond default, buat plugin lokal, test lokal, dan push hasilnya jika pakai GitHub Pages.