Waktu membuat area artikel terbaru di Blogger, saya tidak ingin hasilnya cuma berupa daftar judul dan thumbnail yang terasa datar. Saya ingin feed tetap ringan dan mudah dipakai, tapi punya karakter visual yang langsung terlihat berbeda. Dari situ saya membuat Widget Retro Digital Feed Blogger: enam artikel terbaru yang dibagi menjadi tiga card di kiri, model transparan di tengah, dan tiga card di kanan, lengkap dengan perspektif lembut, loading skeleton, digital reveal, serta scanner tipis yang mengikuti siluet model.
Saya membuat widget ini supaya tetap praktis dipasang lewat gadget HTML/JavaScript Blogger. Feed, thumbnail, loading model, scanner, dan tampilan responsif sudah berada dalam satu paket kode, jadi pengguna tidak perlu menyusun komponennya satu per satu. Di artikel ini saya membahas cara kerjanya, manfaatnya, bagian yang bisa dikustomisasi, dan langkah pemasangannya dengan cara yang mudah diikuti.
Informasi Singkat Platform: Blogger / Blogspot Tipe: Widget feed artikel terbaru Jumlah artikel: 6 Layout: 3 kiri + model tengah + 3 kanan Feed: Blogger JSONP Domain feed: otomatis mengikuti blog aktif Thumbnail: adaptive s128 / s256 / s320 / s640 / s800 Model: PNG/WebP transparan JavaScript: Native JS Responsive: Ya
Apa Itu Widget Retro Digital Feed Blogger?
Widget ini pada dasarnya adalah recent posts Blogger yang saya kemas dengan tampilan berbeda. Tiga artikel muncul di sisi kiri, sebuah model transparan berada di tengah, lalu tiga artikel berikutnya tampil di sisi kanan. Saya sengaja membiarkan setiap card berdiri sendiri tanpa panel besar supaya tampilannya terasa lebih ringan dan tidak menutupi background retro digital.
Untuk latarnya saya memakai kombinasi gradient ungu gelap, garis horizon terang, grid perspektif, dan aura lembut di tengah. Saya tidak ingin efeknya terlalu ramai, jadi card dibuat dengan warna biru gelap transparan, aksen digital tipis, glow halus, dan zoom kecil pada thumbnail ketika disentuh mouse.
ARTICLE 01ARTICLE 02ARTICLE 03
MODELSCANLINE
ARTICLE 04ARTICLE 05ARTICLE 06
Konsep Tampilan 3 Artikel Kiri, Model Tengah, 3 Artikel Kanan
Saya membagi feed menjadi dua kelompok. Tiga post pertama masuk ke .cfStaticLeftItems, lalu tiga post berikutnya masuk ke .cfStaticRightItems. Kedua sisi saya beri perspektif yang berlawanan supaya susunan card terasa sedikit menghadap ke model di tengah.
Untuk hover saya memilih gerakan yang sederhana. Card kiri bergeser sedikit ke kanan dan naik tipis, sedangkan card kanan bergerak ke arah sebaliknya. Border dan glow ikut menguat sedikit, sementara thumbnail hanya melakukan zoom ringan. Menurut saya efek seperti ini lebih enak dilihat karena tetap memberi respons visual tanpa membuat judul artikel sulit dibaca.
Fungsi Widget
Recent Posts BloggerMenampilkan enam artikel terbaru dari feed blog aktif.
Feed DinamisTidak perlu mengisi domain Blogger secara manual.
Adaptive ThumbnailUkuran gambar dipilih berdasarkan lebar card.
Loading SkeletonSlot artikel tetap terlihat rapi sebelum feed selesai.
Model ScanlineModel memiliki INITIALIZING MODEL, reveal, dan scanner.
ResponsivePerspective, ukuran card, dan model menyesuaikan layar kecil.
Feed Dinamis Berdasarkan Domain Tempat Widget Dipasang
Salah satu hal yang paling saya suka dari widget ini adalah saya tidak perlu menulis alamat blog secara manual. Script membaca domain aktif melalui location.origin. Kalau nilai itu tidak tersedia, script memakai kombinasi protocol dan host sebagai cadangan.
Setelah domain terbaca, script membentuk endpoint /feeds/posts/default?alt=json-in-script. Karena itu kode yang sama bisa saya pindahkan dari alamat Blogspot ke custom domain, atau dipakai di blog Blogger lain, tanpa sibuk mengganti hostname di JavaScript.
Feed mengikuti domain aktif. Tidak perlu mengganti URL blog ketika widget dipasang di domain lain. Cukup tempel kode utuh ke gadget HTML/JavaScript.
Kenapa Menggunakan Blogger JSONP Feed?
Untuk mengambil artikel saya memakai feed Blogger dengan format alt=json-in-script. Cara ini memungkinkan data dibaca lewat JSONP. Script membuat callback unik, memasukkannya ke URL feed, lalu menunggu Blogger mengembalikan data artikel.
Begitu feed selesai dimuat, data diproses dan enam artikel langsung dirender ke card kiri dan kanan. Setelah itu callback serta elemen script sementara dibersihkan lagi. Kalau feed gagal dimuat, saya memilih cukup menulis peringatan di Console browser supaya pengunjung tidak melihat pesan error mentah di area widget.
Adaptive Thumbnail untuk Blogger, CodeFlare, dan GitHub
Untuk thumbnail saya tidak hanya mengandalkan satu sumber. Engine lebih dulu mencoba membaca gambar dari content artikel, kemudian summary, lalu memakai media$thumbnail jika memang diperlukan. Ini membantu terutama saat Blogger memakai feed pendek dan posisi gambar di feed tidak selalu sama.
Setelah gambar ditemukan, script menyesuaikan pola URL Blogger dan CodeFlare seperti folder /s256/, /s320/, /s640/, format =s..., atau /w640-h360/. Untuk gambar dari GitHub, URL tampilan github.com/.../blob/... dan github.com/.../raw/... diarahkan ke raw.githubusercontent.com agar file gambar bisa dipakai langsung.
Ukuran gambar lalu dipilih berdasarkan lebar card. Kalau ruangnya kecil, saya cukup memakai s128 atau s256. Saat card lebih lebar, engine bisa naik ke s320, s640, atau s800. Untuk gambar CodeFlare, source utama tetap dijaga supaya kalau versi ukuran yang diuji tidak tersedia, widget masih punya gambar cadangan yang aman.
Loading Skeleton
Saat feed belum selesai dimuat, saya tidak membiarkan area kiri dan kanan kosong. Enam skeleton langsung muncul lebih dulu, masing-masing tiga di setiap sisi. Ada efek cahaya tipis yang bergerak supaya pengunjung tahu bahwa artikel sedang dimuat.
Begitu data feed diterima, skeleton otomatis diganti dengan card artikel. Kalau jumlah artikel yang tersedia belum cukup, area yang tidak mendapatkan data akan menampilkan NO POSTS.
INITIALIZING MODEL dan Loading Model
Bagian model saya beri proses loading sendiri. Sebelum gambarnya benar-benar siap, area tengah menampilkan INITIALIZING MODEL, spinner kecil, dan progress bar tipis. Setelah gambar selesai dimuat, fungsi ready() berjalan dan class cfModelReady ditambahkan untuk memulai efek reveal.
Kalau URL model bermasalah, tulisan loading akan berubah menjadi MODEL UNAVAILABLE. Saya sengaja memisahkan proses model dari feed artikel, jadi kegagalan gambar model tidak ikut mematikan daftar artikel.
Perhitungan Rasio Natural Agar Model Tidak Gepeng
Ada satu bagian yang saya sarankan jangan diubah, yaitu perhitungan rasio gambar. Setelah model selesai dimuat, script membaca naturalWidth dan naturalHeight, lalu menghitung:
naturalWidth / naturalHeight
Nilai itu kemudian dikalikan dengan tinggi area model dan dimasukkan ke CSS variable --cf-model-width. Dengan cara ini saya tidak perlu menebak lebar gambar secara manual, dan bentuk model tetap mengikuti proporsi aslinya.
Digital Reveal
Begitu cfModelReady aktif, model tidak langsung muncul begitu saja. Saya membuatnya naik dari bawah dengan kombinasi clip-path, blur, brightness, opacity, translateY, dan scale. Flash horizontal tipis ikut bergerak selama proses ini supaya kemunculannya terasa seperti proses digital boot-up.
Scanner Tipis yang Mengikuti Siluet Model
Bagian scanner saya buat sedikit berbeda dari garis neon biasa. Saya memakai gambar yang sama pada .cfStaticModelMain dan .cfStaticModelScan, lalu layer kedua diberi filter dan clip-path yang bergerak dari atas ke bawah dan kembali lagi.
Karena layer scan memakai file transparan yang sama, cahaya hanya terlihat pada bagian siluet model. Efeknya jadi lebih menyatu dan tidak terlihat seperti satu garis neon panjang yang sekadar lewat di depan gambar.
Responsive Desktop dan Mobile
Saya juga menyiapkan breakpoint untuk layar 600 px, 420 px, dan 320 px. Saat ruang mengecil, lebar feed, perspektif, zona model, tinggi card, thumbnail, dan ukuran teks ikut menyesuaikan.
Saya tetap mempertahankan susunan enam artikel, jadi widget paling nyaman dipasang di area yang cukup lebar seperti bawah header, section homepage, sebelum footer, atau blok HTML lebar. Di sidebar yang terlalu sempit widget masih bisa mengecil, tetapi ruang untuk model dan card tentu menjadi jauh lebih terbatas.
Cara Memasang Widget di Blogger
Saya memasang widget ini lewat gadget HTML/JavaScript karena itu cara paling aman dan paling mudah di Blogger. Hindari menempelkan script ke editor Compose posting karena editor artikel bisa memproses atau membuang bagian JavaScript.
STEP 01
Blogger Dashboard
Postingan Statistik Komentar TATA LETAK ← pilih Tema
STEP 01: buka Blogger Dashboard, pilih blog yang akan dipasangi widget, lalu masuk ke menu Tata Letak.
STEP 02
HEADER
MAIN
SIDEBAR
STEP 02: pilih area layout yang cukup lebar lalu klik + Tambahkan Gadget. Posisi gadget bisa dipindahkan lagi melalui drag-and-drop di halaman Tata Letak.
STEP 03
Pilih Gadget HTML/JavaScript Teks Gambar Daftar Link
STEP 03: pilih gadget HTML/JavaScript. Jangan menggunakan gadget Teks karena widget membutuhkan script untuk membaca feed.
STEP 04: tempel seluruh kode widget dari baris pertama sampai baris terakhir. HTML, CSS, dan JavaScript harus ikut. Jangan hanya mengambil bagian style atau script.
STEP 05
ARTICLEARTICLEARTICLE
MODEL
ARTICLEARTICLEARTICLE
STEP 05: klik Simpan, buka blog, lalu cek hasilnya. Tidak perlu menulis domain blog secara manual karena feed mengikuti domain tempat gadget dijalankan.
Kode Widget Retro Digital Feed Blogger
Di bawah ini saya sertakan kode widget lengkap. Salin semuanya dari awal sampai akhir supaya HTML, CSS, feed engine, adaptive image, loading model, dan scanner tetap bekerja sebagai satu kesatuan.
Kalau ingin memakai karakter atau model lain, saya sarankan gunakan PNG atau WebP transparan yang bisa diakses publik. Ganti URL pada .cfStaticModelMain dan .cfStaticModelScan dengan file yang sama supaya scanner tetap mengikuti bentuk model dengan tepat.
Gunakan file transparan. Model dengan background putih atau solid tetap akan tampil, tetapi scanner akan mengikuti seluruh kotak gambar sehingga efek siluet menjadi kurang menarik.
Cara Mengubah Tinggi Widget
Tinggi awal widget saya set di .cfStaticFeed dengan nilai height:320px. Nilainya bisa dinaikkan atau diturunkan kalau area pemasangan membutuhkan ukuran yang berbeda.
Kalau ingin mengubah ukurannya, saya biasanya mulai dari tinggi utama dulu lalu mengecek jarak antar-card di desktop dan mobile. Jangan langsung mengubah semua ukuran sekaligus karena perhitungan natural ratio sudah membantu menyesuaikan lebar model berdasarkan tinggi yang baru.
Bagian yang Aman Dikustomisasi
Tinggi widgetNilai height pada .cfStaticFeed.
Warna backgroundWarna dasar pada scene dan sky.
Warna gridDua linear-gradient pada .cfStaticFloor.
Warna glowBorder, box-shadow, horizon, dan aura.
URL modelGanti source model utama dan scan sekaligus.
Kecepatan scannerDurasi 2.8s pada animasi cfModelScanner.
Bagian JavaScript yang Sebaiknya Tidak Diubah
ROOT dan FEEDMenjaga feed otomatis mengikuti domain aktif.
raw(), pickSize(), originalImage(), resize()Menangani adaptive image dan struktur URL Blogger/CodeFlare/GitHub.
extract() dan image()Mencari source gambar dari content, summary, dan media thumbnail.
JSONP callbackMengambil feed dan membersihkan callback setelah selesai.
NEED=6Layout final memang dirancang untuk tiga card kiri dan tiga card kanan.
Widget Tidak Menampilkan Artikel?
Kalau yang terlihat hanya skeleton atau tulisan NO POSTS, saya biasanya mengecek beberapa hal berikut lebih dulu:
Pastikan feed Blogger aktif dan blog dapat dibaca publik.
Pastikan kode tidak terpotong saat disalin.
Pastikan JavaScript tidak dibuang editor.
Gunakan gadget HTML/JavaScript, bukan editor Compose artikel.
Buka Developer Tools → Console dan cari pesan CodeFlare Static Feed.
Thumbnail Tidak Muncul?
Kalau thumbnail tidak muncul, saya cek dulu apakah artikel memang mempunyai gambar yang ikut terbaca oleh feed. Engine mencoba content, summary, lalu media thumbnail. Untuk gambar CodeFlare atau GitHub, sebaiknya pertahankan struktur URL yang sudah didukung dan jangan mengubah fungsi adaptive image kalau sebelumnya sudah bekerja.
Pada feed Blogger tipe pendek, posisi gambar di artikel juga bisa berpengaruh. Kalau hanya satu post yang kehilangan thumbnail, saya lebih memilih memeriksa gambar pada artikel tersebut lebih dulu sebelum menyentuh JavaScript widget.
Model Tidak Muncul?
Kalau model tidak muncul, langkah pertama saya adalah membuka URL gambarnya langsung di browser. Pastikan file bisa diakses publik, sebaiknya berupa PNG atau WebP transparan, dan pastikan model utama serta layer scanner memakai gambar yang sama.
Kalau file gagal dimuat, label akan berubah menjadi MODEL UNAVAILABLE. Dari sini saya bisa langsung tahu bahwa masalahnya ada pada file model, bukan pada feed artikel.
Kok Model Jadi Gepeng atau Langsing?
Kalau bentuk model terlihat terlalu gepeng atau langsing, saya tidak menyarankan mengganti bagian natural ratio. Script membaca naturalWidth / naturalHeight setelah gambar selesai dimuat. Kalau bagian ini diganti ukuran statis, bentuk model lebih mudah berubah saat tinggi widget ikut diubah.
Jumlah Feed Sebaiknya Tetap Enam
Saya mempertahankan NEED=6 karena komposisi widget memang dirancang untuk tiga card di kiri dan tiga di kanan. Jumlahnya tentu bisa diubah oleh pengguna yang paham strukturnya, tetapi kalau hanya menambah angka tanpa mendesain ulang tinggi card dan ruang, tampilannya akan cepat terasa sesak.
Lokasi Gadget yang Disarankan
Menurut saya posisi paling enak adalah area homepage yang cukup lebar: di bawah header, setelah hero, sebelum footer, atau pada section HTML khusus. Widget juga bisa dipakai pada halaman statis selama tersedia ruang horizontal yang cukup.
Kalau suatu saat ingin memindahkannya, saya cukup membuka Tata Letak lalu menggeser gadget ke section lain. Feed URL dan JavaScript tidak perlu disentuh karena domain dibaca otomatis.
Bagian yang Bisa Saya Kembangkan Lagi
Kalau saya ingin membuat variasi baru, saya biasanya mulai dari CSS: warna sky, grid, aura, glow, tinggi widget, atau gambar model. Bagian-bagian ini paling aman untuk dimainkan karena tidak mengubah cara widget mengambil artikel dari Blogger.
Kalau memakai CodeFlare Image Engine, saya membiarkan adaptive image memilih s128, s256, s320, s640, atau s800 sesuai lebar card. Hasilnya gambar tetap terlihat tajam tanpa selalu memaksa browser mengambil file paling besar.
Buat saya, bagian paling menarik dari widget ini bukan sekadar efek retro-nya. Feed tetap bekerja sebagai navigasi artikel terbaru yang sederhana, tetapi tampil lebih berkarakter. Domain terbaca otomatis, thumbnail menyesuaikan ukuran, model menjaga rasio aslinya, dan semua efek digital hanya menjadi lapisan visual tanpa mengubah fungsi utamanya.
Setelah widget terpasang, saya biasanya mengeceknya sekali di desktop dan sekali di mobile: enam artikel harus muncul, thumbnail terbaca, model selesai loading, dan scanner bergerak mengikuti siluet. Setelah itu tinggal menyesuaikan warna atau model dengan gaya blog masing-masing. Selama engine feed dibiarkan tetap, widget bisa terus mengambil artikel terbaru tanpa perlu diurus setiap kali saya menerbitkan posting baru.
No comments
💬 Share Your Thoughts & Join the Hall of Fame!
Punya pendapat atau tips tentang artikel ini? Tuliskan komentar kamu sekarang! 🚀
💎 Komentar yang bermanfaat, relevan, dan positif berkesempatan tampil di CodeFlare Hall of Fame dan masuk ke Top Commentators Widget.
👉 Comment now. Share your ideas. Get noticed on codeflare.net
Informasi unik dan menarik seputar dunia blogging, SEO, template blogger, landing page blog, bisnis online, affiliasi, tips & trik, tutorial, widget dan coding.
Pusat utama bagi para penggemar dan pencipta konten yang ingin berprestasi dalam dunia kreasi konten online yang terus berkembang.
Codeflare bukan sekadar blog melainkan tempat bermain dinamis yang mampu beradaptasi untuk berkontribusi dalam arus informasi.
No comments
💬 Share Your Thoughts & Join the Hall of Fame!
Punya pendapat atau tips tentang artikel ini? Tuliskan komentar kamu sekarang! 🚀
💎 Komentar yang bermanfaat, relevan, dan positif berkesempatan tampil di CodeFlare Hall of Fame dan masuk ke Top Commentators Widget.
👉 Comment now. Share your ideas. Get noticed on codeflare.net