Plugin

24 Apr 2025

Penjelasan tentang Plugin

Plugin Jekyll: Panduan Lengkap

Apa Itu Jekyll?

Jekyll adalah static site generator berbasis Ruby, sering digunakan untuk membuat blog, dokumentasi, atau situs pribadi. Plugin Jekyll adalah ekstensi yang memperluas fungsionalitas default Jekyll, seperti menambahkan tag Liquid custom, generator halaman, converter konten, dan sebagainya.


Apa Itu Plugin Jekyll?

Plugin Jekyll adalah komponen Ruby (biasanya berupa file .rb) yang di-load saat proses build, memungkinkan kamu menambahkan fitur kustom seperti:


Jenis Plugin Jekyll

1. Filter Plugin

Membuat filter custom di dalam Liquid.

module Jekyll
  module ReverseFilter
    def reverse(input)
      input.reverse
    end
  end
end


Liquid::Template.register_filter
(Jekyll::ReverseFilter)

Penggunaan di template:

hello  => "olleh"

2. Tag Plugin

Membuat tag custom seperti alert


3. Generator Plugin

Membuat halaman secara otomatis.

module Jekyll
  class MyPageGenerator < Generator
    def generate(site)
      site.pages << PageWithoutAFile.
      new(site, site.source, '', 
      'generated.html')
    end
  end
end

4. Converter Plugin

Mengubah format file (misalnya dari .txt ke HTML).

module Jekyll
  class TxtConverter < Converter
    safe true
    priority :low

    def matches(ext)
      ext =~ /^\.txt$/i
    end

    def output_ext(ext)
      ".html"
    end

    def convert(content)
      "<pre>#{content}</pre>"
    end
  end
end

Struktur Direktori Plugin Lokal

Jekyll bisa menggunakan plugin dari:

Contoh Gemfile:

gem "jekyll-sitemap"
gem "jekyll-seo-tag"

Contoh _config.yml:

plugins:
  - jekyll-sitemap
  - jekyll-seo-tag

Plugin Populer Jekyll

Plugin Fungsi
jekyll-seo-tag Optimasi SEO
jekyll-sitemap Buat sitemap.xml otomatis
jekyll-feed Buat RSS feed
jekyll-paginate Paginasi untuk blog
jekyll-archives Arsip berdasarkan kategori/tag/tanggal
jekyll-assets Manajemen aset CSS/JS/Gambar

Cara Mengaktifkan Plugin di GitHub Pages

GitHub Pages hanya mendukung plugin tertentu (whitelisted). Jika ingin menggunakan plugin custom:

  1. Gunakan GitHub Actions atau build manual.
  2. Push hasil build ke branch gh-pages.

Contoh Plugin Kustom di _plugins/

Buat folder _plugins/hello.rb:

Jekyll::Hooks.register :site, 
:post_write do |site|
  puts "Build selesai untuk: 
  #{site.config['title']}"
end

Tips Pengembangan Plugin


Referensi