Study
Yesod

Static File & Subsite

Penjelasan

Yesod scaffolding sudah menyertakan subsite Static bawaan yang melayani file dari folder static/ (CSS, gambar, JavaScript non-bundle) lewat route StaticR, dengan dukungan hashing nama file otomatis untuk cache-busting di production. Static file diakses type-safe lewat @{StaticR nama_file_css} di template, bukan string path manual. Subsite sendiri adalah konsep Yesod untuk membungkus sekumpulan route dan logic menjadi unit yang bisa dipasang di aplikasi mana pun, mirip seperti plugin. Selain Static, contoh subsite bawaan lain adalah Auth (yesod-auth). Membuat subsite custom lebih jarang dibutuhkan pemula, tapi penting dipahami karena banyak fitur bawaan Yesod (static, auth, admin panel) sebenarnya diimplementasikan sebagai subsite.

Contoh Konsep

-- config/routes
/static StaticR Static getStatic
/auth   AuthR    Auth   getAuth

-- Memakai static file di template Hamlet:
-- <link rel=stylesheet href=@{StaticR css_style_css}>
-- <img src=@{StaticR img_logo_png}>

-- Struktur folder static/
-- static/css/style.css
-- static/img/logo.png

Praktikum

Tambahkan file static/css/blog.css lalu tulis cara memanggilnya di template Hamlet memakai referensi type-safe StaticR.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Setelah menambah file baru di folder static/, restart yesod devel karena daftar nama static di-generate dari isi folder saat build, bukan dibaca ulang secara dinamis.