11 September, 2023 albawid
# Jekyll
# website
Melanjutkan part sebelumnya mengenai pembahasan proses pembuatan website, pada tahap ini memasuki integrasi jekyll dengan file website. Sama seperti di part 1 kali ini saya hanya menuliskan code yang penting saja dan tidak akan mencantumkan code secara keseluruhan agar post tetap enak untuk dibaca.
Karena Jekyll merupakan RubyGem maka dari itu jekyll bisa diinstall hampir di semua sistem operasi asalkan sudah menginstall beberapa aplikasi yang dibutuhkan jekyll dibawah ini.
ruby -v
untuk memastikan versi ruby.gem -v
pastikan menggunakan versi terbaru.gcc -v
, g++ -v
dan make -v
pastikan versi paling baru.Karena saya menggunakan windows maka saya hanya akan menulis instalasi jekyll di windows, untuk sistem operasi lainnya akan saya cantumkan link menuju artikel resmi.
Cara yang paling simpel dan sangat saya rekomendasikan adalah menggunakan RubyInstaller.
Pastikan menggunakan RubyInstaller versi 2.4 keatas agar tidak ada masalah ketika menggunakan jekyll.
ridk install
kemudian install seperti aplikasi pada umumnya, dan di akhir tahap instalasi pastikan memilih opsi MSYS2 and MINGW development tool chain
.gem
dengan perintah gem install jekyll bundler
.jekyll -v
Ketika mengecek versi jika kalian mengalami error Jekyll has not been installed properly, reboot device kemudian jalankan ulang, jika masih error pastikan terhubung internet kemudian coba reinstall RubyInstaller dan ulangi mulai step 2
Jika kalian menggunakan windows 10 versi 1607 keatas, bisa menggunakan opsi lain yaitu menggunakan bash di terminal atau cmd windows
Pastikan kalian sudah mengaktifkan Windows Subsytem for Linux.
Pastikan repository ter-update, karena subsystem linux menggunakan ubuntu maka untuk update semua reposity gunakan perintah ini
sudo apt-get update -y && sudo apt-get upgrade -y
selanjutnya install ruby dari repository BrightBox, karena brightbox merupakan salah satu repository yang selalu up-to-date ruby ke versi terbaru.
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.5 ruby2.5-dev build-essential dh-autoreconf
kemudian update ruby gem dan install jekyll
gem update && gem install jekyll bundler
untuk mengecek versi jekyll gunakan jekyll -v
Setelah semuanya terinstall selanjutnya kita sudah bisa membuat website secara otomatis menggunakan jekyll, contoh disini saya mau membuat folder website-jekyll dengan nama BlogPribadi
jekyll new BlogPribadi
kemudian masuk kedalam folder BlogPribadi
yang sudah di buat
cd BlogPribadi
bisa diketahui bahwa didalam folder BlogPribadi
sudah terdapat template website bawaan
BlogPribadi/
|-- 404.html
|-- Gemfile
|-- Gemfile.lock
|-- _config.yml
|-- _posts
| |-- 2023-09-13-welcome-to-jekyll.markdown
|-- about.markdown
|-- index.markdown
mari kita bedah satu-satu:
...
gem "jekyll", "~> 4.3.2"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
...
...
title: Your awesome title
email: your-email@example.com
description: >- # this means to ignore newlines until "baseurl:"
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: jekyllrb
github_username: jekyll
# Build settings
theme: minima
plugins:
- jekyll-feed
...
perahtikan cara penulisan judul dan tanggal post, agar nantinya judul post terbaru bisa dibaca oleh jekyll
untuk
about.markdown
danindex-markdown
kenapa ditulis dengan format.markdown
bukan.html
? karena jekll menggunakan engine kramdown yang nantinya file berekstensi.markdown
akan dirender kedalam format.html
dengan tujuan untuk mempermudah dalam penulisan.
dan sebenanya template tersebut bisa kita jalankan secara lokal
bundle exec jekyll serve
atau jika kalian ingin menjalankan secara lokal dan bisa diakses dengan device lain
bundle exec jekyll serve --host 0.0.0.0
perintah serve
akan menjalankan website secara lokal di http://localhost:4000/
Untuk tampilan tema bawaan jekyll seperti dibawah ini
Sangat sederhana bukan?, tapi bisa dibuat lebih keren lagi seperti pembahasan kita selanjutnya, simak saja hwhw
Meskipun tertulis ‘integrasi’ tapi yang kita lakukan sebenarnya hanyalah menulis kode dan memasukannya kedalam folder jekyll dengan benar, agar konsep desain website bisa dibaca dan dijalankan oleh jekyll, tapi sebelum itu saya akan menganggap kalian sudah paham HTML, CSS dan beberapa istilah didalam jekyll seperti liquid, frontmatter dan lain-lain, jika belum bisa kalian menuju web resmi jekyll.
Seperti yang ada diatas, bahwa template bawaan jekyll sangatlah sederhana, namun kita bisa menambahkan beberapa folder yang sebenanya sudah ada di jekyll namun tidak dibuatkan secara otomatis.
Pertama buat folder baru didalam folder BlogPribadi
dengan nama:
_data
akan digunakan untuk menyimpan data dalam format .yaml
, bisa berisi data anggota.yaml
, organisasi.yaml
, bar-navigasi.yaml
dan lain-lain, yang nantinya akan dipanggil menggunakan liquid._includes
digunakan untuk menyimpan file modularisasi HTML, umumnya folder ini berisi file html yang nanti nya juga akan dipanggil menggunakan liquid.Kedua buat beberapa file dengan nama:
jekyll-instant-search
jadi untuk mem-filter tag tinggal ketik di kolom pencarianSeperti yang sudah ditulis diatas fungsi _config.yml
untuk menyimpan semua konfigurasi yang ada di jekyll dan jika ingin memanggil value yang ada di _config.yml
bisa menggunakan liquid {{ site.value }}
.
Edit terlebih dahulu data yang akan dipanggil:
...
title: Blog Pribadi
email: nama@email.com
...
Kemudian tulis liquid {{ site.title }}
kedalam HTML:
<html lang="id">
<head>
<title>{{ site.title }}</title>
</head>
<body></body>
</html>
begitulah cara kerja liquid pada jekyll, dan jika ingin mengganti judul, tidak perlu lagi mengedit file html melainkan edit title yang ada di file _config.yml
, maka liquid akan membaca value yg kita ubah secara otomatis.
Kurang lebih seperti itu proses pembuat website pribadi ini, sebenarnya belum selesai dan masih banyak hal yang harus ditulis, tapi yaa lagi malas menulis aja hehe, tapi intinya jika sudah mengetahui dasar cara kerja jekyll maka tinggal memasukkan file desain web ke folder yang sudah dibuatkan, contoh untul file HTML taruh ke folder _layouts/
, jika didalam file web desain memerlukan file html lain secara terpisah maka taruh file tersebut ke folder _includes/
, dan untuk file stylesheet atau file CSS taruh ke folder assets/css/
dan begitu seterusnya. Tulisan ini akan diperbarui jika ada niat.
Tulisan ini dilisensikan dengan:
Atribusi-NonKomersial-BerbagiSerupa 4.0 Internasional (CC BY-NC-SA 4.0)