Genie.Renderer & Template
Penjelasan
Modul `Genie.Renderer` adalah lapisan umum di balik `html()` dan `json()` yang mengatur bagaimana konten dirender dan dibungkus layout. Layout default (`app/layouts/app.jl.html`) berisi placeholder `<%= @yield %>` yang akan diisi otomatis dengan konten dari view spesifik saat halaman dirender. Template Genie mendukung logic Julia penuh di dalamnya — percabangan, perulangan, bahkan pemanggilan fungsi lain — sehingga view tidak terbatas pada tampilan statis, cocok untuk menampilkan hasil komputasi atau visualisasi data secara dinamis.
Contoh Konsep
# app/layouts/app.jl.html
# <html>
# <head><title>BlogApp</title></head>
# <body>
# <%= @yield %>
# </body>
# </html>
using Genie.Renderer.Html
function indexView()
html("index.jl.html", layout = "app.jl.html", judul = "Beranda")
end
# index.jl.html
# <h1><%= judul %></h1>
Praktikum
Buat layout kustom bernama admin.jl.html dan render sebuah view dengan layout tersebut, bukan layout default.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Kalau banyak halaman butuh layout berbeda (misal area admin vs publik), pisahkan file layout daripada menaruh kondisi if di satu layout tunggal.