Showing posts with label Widget. Show all posts
Showing posts with label Widget. Show all posts

jQuery .submit() & Google Custom Search Engine

Bismillah. Alhamdulillah. Bagaimana dengan artikel sebelumnya tentang 'Membuat dan Memasang Google Custom Search Engine'? Mudah-mudahan telah berhasil dipasang pada blog anda. Kelemahan dari cara tersebut adalah ketika kita mengganti kata kunci (keyword) pada form input maka halaman hasil pencarian akan di-load (di panggil) ulang, dan reload halaman ini terjadi setiap mengganti kata kunci. Hal ini tentunya memperlambat proses pencarian dan kadang membuat kesal saat seseorang telah mencapai lelah untuk mencari sesuatu di internet. Bagaimana caranya agar halaman tidak di reload saat kita mengganti kata kunci lainnya, namun hasil pencarian tetap ditampilkan pada halaman tersebut? Disinilah kita membutuhkan bantuan script jQuery. jQuery .submit() yang akan mengambil alih event handler saat seseorang meng-klik tombol submit.
jQuery Blogger Custom Search Engine

Deskripsi

Pada artikel sebelumnya, kita telah membahas tentang integrasi Google Custom Search Engine pada Blogger, namun bahasan materinya terlalu praktis bahkan nyaris tidak ada pemahaman materi yang lebih luas. Artikel tersebut justru hanya akan menjadi materi (copy paste) yang sangat sulit untuk dikembangkan lebih lanjut. Saya hanya berharap, dari setiap artikel yang diterbitkan, janganlah hanya tips trik yang instan tanpa mampu dipahami dengan baik namun lebih jauh anda mengembangkan sendiri sesuai imajinasi atau mungkin lebih sempurna. Mari kita sama-sama pelajari dan pahami.

jQuery .submit()

.submit() adalah metode lain atau metode yang lebih praktis untuk .bind('submit', handler) dalam variasi pertama, dan .trigger('submit') dalam variasi ketiga. Event submit akan dikirimkan ke sebuah elemen ketika pengguna mencoba untuk mengirimkan (submit) formulir (form). Form akan berhasil dikirimkan dengan meng-klik eksplisit <input type="submit">, <input type="image">, atau <button type="submit">, atau dengan menekan tombol Enter jika elemen form memiliki focus.
Harus diperhatikan pula bahwa event pengiriman formulir juga tergantung pada browser. Beberapa browser ada yang mampu mengirimkan formulir hanya dengan menekan tombol Enter jika input formulir berisi satu kolom teks, atau formulir bisa terkirim jika menekan tombol submit. Interface tidaklah harus bergantung pada perilaku tertentu, kecuali hal ini memang memaksa harus dengan mengamati event penekanan tombol untuk tombol Enter.
Sebagai contoh, perhatikan kode HTML dibawah ini:
<form id="target" action="tujuan.html">
<input type="text" value="Ini hanya percobaan"/>
<input type="submit" value="Kirim"/>
</form>
<div id="lain">
Pemicu Lain
</div>
Event handler dibawah terlibat ke dalam form:
$('#target').submit(function() {
alert('Handler untuk .submit() terpanggil');
return false;
});
Ketika form (formulir) dikirimkan (submit), pesan akan tampil dengan isi "Handler untuk .submit() terpanggil". Hal ini terjadi sebelum pengiriman form yang sebenarnya, maksudnya seperti ini (sambil dibuka demonya disini):
Ketika kita klik tombol submit (<input type="submit" value="Kirim"/>) untuk mengirimkan input text (<input type="text" value="Ini hanya percobaan"/>) dari form dengan id #target ke halaman tujuan (action="tujuan.html") maka input text tidak akan dikirimkan ke URL tujuan tetapi langsung diambil alih (handle) oleh jQuery .submit() dengan memanfaatkan fungsi .preventDefault(). Atau jika terjadi kesalahan fungsi maka akan dikembalikan pada handle sebelumnya (return false;). Fungsi .preventDefault() sering digunakan untuk menghentikan (pada kasus tertentu dapat mengambil alih) sebuah event agar tidak langsung disampaikan pada tujuan. Contoh penggunaan fungsi .preventDefault() ada pada artikel sebelumnya. [1], [2], [3]. Jika kita menggunakan fungsi event .submit() maka event .preventDefault() sudah termasuk didalamnya tanpa harus dituliskan pada kode. (Lumayan membingungkan... Ngopi dulu...)
Atau, kita juga dapat memanfaatkan pemicu event secara manual ketika elemen lain diklik, contoh script jQuery-nya seperti dibawah ini:
$('#lain').click(function() {
$('#target').submit();
});
Setelah code diatas dieksekusi, kemudian kita klik pada "Pemicu Lain", hal ini juga akan menampilkan pesan yang sama, yaitu "Handler untuk .submit() terpanggil". Lihat demonya disini. Ingat! Jika tanpa kode jQuery diatas, maka ketika kita klik tombol submit (<input type="submit" value="Kirim"/>) maka browser akan menuju dan membuka halaman URL tujuan (action="tujuan.html"). (Mudah-mudahan ada lampu listrik menyala diatas kepala... Cling...)

Mekanisme Kerja Google Custom Search Engine

Setelah memahami fungsi dari event jQuery .submit(), sekarang kita akan mencoba memahami bagaimana Google Custom Search Engine bekerja. Perhatikan gambar dibawah ini:
Mekanisme Kerja Google Custom Search Engine
Ketika kita membuat sebuah mesin telusur sendiri menggunakan fasilitas Google Custom Search Engine, maka proses index halaman demi halaman blog kita akan segera dimulai. Google Custom Search Engine akan melakukan pengumpulan data pada blog kita secara bertahap dan sesuai edisi yang digunakan. (Untuk Edisi gratis, jumlah index halaman terbatas). Ketika seseorang memasukan sebuah kata kunci (keyword) pada Input Form kemudian mengirimkannya (submit) pada Google API CSE, maka Google API CSE akan mengambil data dari index server Google CSE. Setelah ditemukan kecocokan dengan kata kunci yang dimasukan pada Input Form, Google API CSE akan mengambilnya dari server Google CSE dan kemudian mengirimkan hasil pengambilan data tersebut ke Halaman Hasil Pencarian.

jQuery Google Custom Search Engine

jQuery .submit() sudah dipahami, dan mekanisme kerja Google Custom Search Engine juga sudah dipahami, waktunya kita memodifikasi script bawaan Google Custom Search Engine. Pada artikel sebelumnya kita sudah mengetahui bahwa script dari Form Input dan Google Custom Search Engine seperti dibawah ini:

Kode Form Input
<form id="searchform" action="/p/pencarian.html">
<input id="searchq" name="q" type="search" placeholder="Cari..."/>
<input class="searchbutton" name="sa" type="submit" value="Go" />
</form>

Kode Google API Custom Search Engine
google.load("search", "1", {
language: "id",
style : google.loader.themes.V2_DEFAULT
});
google.setOnLoadCallback(function () {
var c = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});
c.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
var a = new google.search.DrawOptions;
a.enableSearchResultsOnly();
c.draw("cse", a);
for (var a = {}, e = window.location.search.substr(1).split("&"), d = 0; d < e.length; d++) {
var b = e[d].split("="),
f = decodeURIComponent(b[0]);
a[f] = b[1] ? decodeURIComponent(b[1].replace(/\+/g, " ")) : b[1]
}
a.q && c.execute(a.q, null, {
oq: a.oq,
aq: a.aq,
aqi: a.aqi,
aql: a.aql,
gs_sm: a.gs_sm,
gs_upl: a.gs_upl
})
}, !0);

Hasil Perpaduan

Dibawah ini kode hasil perpaduan antara Google API CSE dengan jQuery .submit(). Saya tidak akan lagi menjelaskan secara detail, silahkan dipelajari untuk dipahami. Berikut hasil perpaduan kodenya:
$(function () {
$("#searchform").submit(function () {
var b = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});
b.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
var a = new google.search.DrawOptions;
a.enableSearchResultsOnly();
b.draw("cse", a);
(a = $("#searchq").val()) && b.execute(a);
return !1
})
});
Keterangan:
Pada dasarnya kita hanya mengalihkan proses load dan mengganti proses eksekusi kode Google API CSE. Pada mulanya load dilakukan dengan:
google.setOnLoadCallback
kemudian di ganti dengan:
$("#searchform").submit
ID #searchform diambil dari ID form (Jika memahami penjelasan sebelumnya, pasti paham fungsi event ini)
Kemudian mengganti eksekusi yang pada mulanya seperti dibawah ini:
for (var a = {}, e = window.location.search.substr(1).split("&"), d = 0; d < e.length; d++) {
var b = e[d].split("="),
f = decodeURIComponent(b[0]);
a[f] = b[1] ? decodeURIComponent(b[1].replace(/\+/g, " ")) : b[1]
}
a.q && c.execute(a.q, null, {
oq: a.oq,
aq: a.aq,
aqi: a.aqi,
aql: a.aql,
gs_sm: a.gs_sm,
gs_upl: a.gs_upl
})
menjadi seperti dibawah ini:
(a = $("#searchq").val()) && b.execute(a);
return !1
Namun hati-hati, saya telah melakukan perubahan nama variabel, dengan tujuan untuk membedakan, mana script Google API CSE yang asli, dan mana script Google API CSE hasil perpaduan dengan jQuery. Script hasil perpaduan ini memang harus diperhatikan dan dibandingkan dengan hati-hati.

Conditional Tag

Sudah dibahas diatas bahwa ketika kita menggunakan jQuery .submit() maka URL tujuan tidak akan dibuka oleh browser karena fungsi submit form diambil alih oleh jQuery. Ini akan memunculkan masalah ketika halaman hasil pencarian sedang tidak dibuka, maka keyword apapun yang kita masukan pada input form itu tidak akan menghasilkan apa-apa. Google API CSE tidak akan pernah memproses perintah apapun dari form jika halaman hasil pencarian sedang tidak dibuka. Jika demikian berarti kita membutuhkan suatu kondisi.
Kondisi ini akan mengatur kapan jQuery .submit() harus diload atau dieksekusi. Pada saat halaman yang sedang dibuka bukanlah halaman hasil pencarian maka input form masih menggunakan script Google API CSE aslinya, namun ketika halaman hasil pencarian sedang dibuka, maka jQuery .submit() juga telah dieksekusi dan siap untuk digunakan.
Solusi dari masalah ini adalah dengan menggunakan conditional tag, seperti contoh dibawah ini:
<b:if cond='data:blog.url == &quot;/p/pencarian.html&quot;'>
... Script jQuery Google API CSE ...
</b:if>
Bagaimana conditional tag ini bekerja? Silahkan baca disini.

Integrasi Pada Blog

Masih bingung? Mungkin harus mencoba dulu baru memahaminya. Kode jQuery Google API CSE dibawah ini silahkan digunakan pada blog anda. Ikuti langkahnya:
Langkah 1
Buka template blog anda
Langkah 2
Cari kode dibawah ini:
</body>
Langkah 3
Masukan (copy paste) kode dibawah ini diatas kode pada langkah 2:
<b:if cond='data:blog.url == &quot;/p/pencarian.html&quot;'>
<script type='text/javascript'>
//<![CDATA[
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'/>
$(function () {
$("#searchform").submit(function () {
var b = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});
b.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
var a = new google.search.DrawOptions;
a.enableSearchResultsOnly();
b.draw("cse", a);
(a = $("#searchq").val()) && b.execute(a);
return !1
})
});
//]]>
</script>
</b:if>
Langkah 4
Simpan Template

Keterangan:
  • Kode Google API CSE yang telah dimasukan sebelumnya jangan dibuang, karena kita membutuhkan loadernya.
  • Ganti URL /p/pencarian.html sesuai dengan URL halaman hasil pencarian anda.
  • Buang framwork jQuery jika blog anda telah memasang framework jQuery.
  • Samakan atau ubah ID #searchform pada jQuery sesuai dengan ID Form Input anda (misal ID form input; <form id="searchform").
  • Jangan lupa untuk mengganti 012345678901234567890:mdrcctmncrt sesuai dengan kode yang anda peroleh dari Google CSE.
  • Samakan atau ubah ID #searchq pada jQuery sesuai dengan ID Input anda (misal ID Input; <input id="searchq" name="q")

Kesimpulan

Mudah bukan? Dari pembahasan diatas mudah-mudahan anda memahami bagaimana cara kerja jQuery .submit() dan Google API CSE dengan baik, sehingga kedepannya anda bisa melakukan modifikasi dan perbaikan yang lebih baik lagi dari pada apa yang sudah dibahas di atas. Sampai ketemu dipembahasan berikutnya (Rencananya membuat Blogger Search Ajax API). Happy Blogging :)

Membuat dan Memasang Google Custom Search Engine

Bismillah. Alhamdulillah. Google memberikan keleluasaan kepada para penggunanya untuk melakukan berbagai modifikasi script, fungsi dan fasilitas yang tersedia secara gratis. Salah satu fasilitas yang cukup bagus adalah Google Custom Search Engine. Fasilitas ini disediakan bagi mereka yang ingin membuat sendiri mesin pencari sesuai dengan keinginan penggunanya. Kita bisa membuat mesin pencari layaknya Google Search untuk meng-index artikel atau informasi dari situs yang bisa kita tentukan sendiri atau dari kumpulan situs favorit kita. Bagi para blogger, banyak pula yang menggunakan Google Custom Search Engine ini sebagai mesin pencari blog sendiri yang khusus meng-index artikel pada blog yang dikelolanya. Bagaimana caranya?
Blogger Custom Search Engine

Membuat Akun Google Custom Search Engine

Untuk membuat Google Custom Search Engine, maka syarat utamanya kita harus memiliki akun Google atau GMail. Jika sudah memiliki akun, ikuti langkah dibawah ini:
Langkah 1
Login ke Google dan masuk ke Halaman "Google Penelusuran Khusus"
Langkah 2
Jika anda sudah Login maka akan dihadapkan pada formulir dibawah ini:
Konfigurasi Google Custom Search Engine
Keterangan Gambar
  • Nama: Isilah dengan dengan Google Custom Search Engine (rekomendasi; sesuaikan dengan nama blog anda)
  • Deskripsi: Isi deskripsi mengenai fungsi mesin telusur yang anda buat, karena mesin telusur ini bersifat publik yang siapapun bisa menggunakannnya
  • Bahasa: Pilihlah bahasa yang sesuai dengan kemampuan anda (sayangnya tidak ada bahasa Jawa. #LOL)
  • Situs yang akan ditelusuri: Masukan alamat URL (tanpa http://) yang akan ditelusuri pada hasil pencarian. Jika khusus untuk blog pribadi, masukan satu URL alamat blog anda saja.
  • Edisi: Jika punya uang, beli saja yang $100 per tahun. Kalau seperti saya, tidak ada pilihan lain kecuali Edisi Standar GRATIS!. Perbedaannya antara limited dan unlimited konfigurasi. Silahkan temukan sendiri perbedaannya.
  • Jangan lupa checklist "Saya telah membaca dan menyetujui Persyaratan Layanan"
Langkah 3
Klik tombol "Lanjut"
Langkah 4
Lewati langkah ke 2 ini dengan klik tombol "Lanjut"
Langkah 5
Catat kode mesin telusur anda

Integrasi Google Custom Search Engine pada Blogger

Ada dua bagian untuk mengintegrasikan Google Custom Search Engine pada Blogger, yaitu:

A. Halaman Hasil Pencarian
Buatlah sebuah halaman sebagai tempat untuk menampilkan hasil pencarian. Bisa berupa halaman artikel atau halaman statis (pada contoh artikel ini menggunakan halaman statis).
Langkah 1
Pindahkan mode editor pada mode HTML (Jangan pada mode Compose!). Jangan lupa beri judul halaman.
Langkah 2
Masukan (copy paste) kode dibawah ini pada area artikel:
<div id="cse" style="width: 100%;">Tunggu Sebentar...</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript">//<![CDATA[
google.load("search", "1", {
language: "id",
style : google.loader.themes.V2_DEFAULT
});
google.setOnLoadCallback(function () {
var c = new google.search.CustomSearchControl("012345678901234567890:mdrcctmncrt", {});
c.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
var a = new google.search.DrawOptions;
a.enableSearchResultsOnly();
c.draw("cse", a);
for (var a = {}, e = window.location.search.substr(1).split("&"), d = 0; d < e.length; d++) {
var b = e[d].split("="),
f = decodeURIComponent(b[0]);
a[f] = b[1] ? decodeURIComponent(b[1].replace(/\+/g, " ")) : b[1]
}
a.q && c.execute(a.q, null, {
oq: a.oq,
aq: a.aq,
aqi: a.aqi,
aql: a.aql,
gs_sm: a.gs_sm,
gs_upl: a.gs_upl
})
}, !0);
//]]></script>
Perhatian!
Kode diatas adalah kode yang sudah disesuaikan dengan karakter Blogger, namun anda bisa saja menggunakan kode bawaan Google Custom Search Engine.
Jangan lupa ganti kode dibawah ini:
012345678901234567890:mdrcctmncrt
dengan kode mesin telusur yang sudah anda peroleh.
Langkah 3
Terbitkan artikel atau halaman dan catat URL artikel atau halaman ini. Lanjutkan ke langkah berikutnya...


B. Form Input Keyword (Kata Kunci)
Jika pada blog anda sudah tersedia form pencarian, biasanya memiliki kode mirip seperti dibawah ini:
<form id="searchform" action="/p/pencarian.html">
<input id="searchq" name="q" type="search" placeholder="Cari..."/>
<input class="searchbutton" name="sa" type="submit" value="Go" />
</form>
Carilah kode diatas pada widget atau template dan hal yang harus diperhatikan adalah sebagai berikut:
  • action="/p/pencarian.html": ganti /p/pencarian.html dengan URL halaman yang sudah anda buat tadi (lihat A. Halaman Hasil Pencarian)
  • name="q": ini tidak bisa di tawar, karena mesin pencari akan menggunakan karakter unik "q" (query) untuk mengeksekusi kata kunci yang dimasukan pada input
  • type="submit": ini juga tidak bisa di tawar (bagi yang belum paham form) karena berfungsi untuk mengirimkan kata kunci input pada halaman yang ada pada action
  • Sedangkan untuk atribut lainnya silahkan sesuaikan

Proses pencarian ini dilakukan kurang lebih seperti dibawah ini:
Jika seseorang memasukan kata kunci pada form input name="q", kemudian meng-klik tombol type="submit" maka kata kunci akan dikirim pada halaman action="/p/pencarian.html" untuk diproses. Dan halaman /p/pencarian.html akan memproses kata kunci tersebut untuk menampilkan hasil yang relevan dengan menggunakan Google Custom Search Engine.

Template CSS Google Custom Search Engine

Jika anda kurang suka dengan perpaduan warna bawaan Google Custom Search Engine, silahkan lakukan modifikasi pada kode CSS-nya. Namun sebelum melakukan modifikasi pada kode CSS, buanglah kode dibawah ini:
style : google.loader.themes.V2_DEFAULT
dari kode Google Custom Search Engine (lihat A. Halaman Hasil Pencarian), kemudian tambahkan dan lakukan modifikasi pada kode CSS dibawah ini:
.gsc-control-cse {
font-family: Arial, sans-serif;
border-color: #FFFFFF;
background-color: #FFFFFF;
}
.gsc-control-cse .gsc-table-result {
font-family: Arial, sans-serif;
}
input.gsc-input, .gsc-input-box, .gsc-input-box-hover, .gsc-input-box-focus {
border-color: #D9D9D9;
}
input.gsc-search-button, input.gsc-search-button:hover, input.gsc-search-button:focus {
border-color: #802020;
background-color: #660000;
background-image: none;
}
.gsc-tabHeader.gsc-tabhInactive {
border-color: #CCCCCC;
background-color: #FFFFFF;
}
.gsc-tabHeader.gsc-tabhActive {
border-color: #CCCCCC;
border-bottom-color: #FFFFFF;
background-color: #FFFFFF;
}
.gsc-tabsArea {
border-color: #CCCCCC;
}
.gsc-webResult.gsc-result,
.gsc-results .gsc-imageResult {
border-color: #FFFFFF;
background-color: #FFFFFF;
}
.gsc-webResult.gsc-result:hover,
.gsc-imageResult:hover {
border-color: #EEEEEE;
background-color: #F9F9F9;
}
.gs-webResult.gs-result a.gs-title:link,
.gs-webResult.gs-result a.gs-title:link b,
.gs-imageResult a.gs-title:link,
.gs-imageResult a.gs-title:link b {
color: #802020;
}
.gs-webResult.gs-result a.gs-title:visited,
.gs-webResult.gs-result a.gs-title:visited b,
.gs-imageResult a.gs-title:visited,
.gs-imageResult a.gs-title:visited b {
color: #802020;
}
.gs-webResult.gs-result a.gs-title:hover,
.gs-webResult.gs-result a.gs-title:hover b,
.gs-imageResult a.gs-title:hover,
.gs-imageResult a.gs-title:hover b {
color: #802020;
}
.gs-webResult.gs-result a.gs-title:active,
.gs-webResult.gs-result a.gs-title:active b,
.gs-imageResult a.gs-title:active,
.gs-imageResult a.gs-title:active b {
color: #802020;
}
.gsc-cursor-page {
color: #802020;
}
a.gsc-trailing-more-results:link {
color: #802020;
}
.gs-webResult .gs-snippet,
.gs-imageResult .gs-snippet,
.gs-fileFormatType {
color: #000000;
}
.gs-webResult div.gs-visibleUrl,
.gs-imageResult div.gs-visibleUrl {
color: #666666;
}
.gs-webResult div.gs-visibleUrl-short {
color: #666666;
}
.gs-webResult div.gs-visibleUrl-short {
display: none;
}
.gs-webResult div.gs-visibleUrl-long {
display: block;
}
.gs-promotion div.gs-visibleUrl-short {
display: block;
}
.gs-promotion div.gs-visibleUrl-long {
display: none;
}
.gsc-cursor-box {
border-color: #FFFFFF;
}
.gsc-webResult.gsc-result.gsc-promotion {
border-color: #F6F6F6;
background-color: #F6F6F6;
}
.gsc-completion-title {
color: #802020;
}
.gsc-completion-snippet {
color: #000000;
}
.gs-promotion a.gs-title:link,
.gs-promotion a.gs-title:link *,
.gs-promotion .gs-snippet a:link {
color: #1155CC;
}
.gs-promotion a.gs-title:visited,
.gs-promotion a.gs-title:visited *,
.gs-promotion .gs-snippet a:visited {
color: #1155CC;
}
.gs-promotion a.gs-title:hover,
.gs-promotion a.gs-title:hover *,
.gs-promotion .gs-snippet a:hover {
color: #1155CC;
}
.gs-promotion a.gs-title:active,
.gs-promotion a.gs-title:active *,
.gs-promotion .gs-snippet a:active {
color: #1155CC;
}
.gs-promotion .gs-snippet,
.gs-promotion .gs-title .gs-promotion-title-right,
.gs-promotion .gs-title .gs-promotion-title-right * {
color: #666666;
}
.gs-promotion .gs-visibleUrl,
.gs-promotion .gs-visibleUrl-short {
color: #009933;
}

Kesimpulan

Google Custom Search Engine ini bisa diintegrasikan dengan Google Adsense jika anda memiliki akunnya. Integrasi dengan Google Adsense dilakukan pada konfigurasi Mesin Telusur bukan pada kode yang telah dibahas diatas. Kelemahan menggunakan mesin telusur ini adalah halaman yang selalu di-reload jika kita mengubah kata kunci pencarian. Bagaimana jika ingin halaman ini tidak di-reload apabila kita mengganti kata kunci? Nantikan pada pembahasan berikutnya. Silahkan anda bereksperimen dan memodifikasinya sendiri sesuai keinginan dan imajinasi. "Bagaimana jika kita membuat sendiri mesin pencari dengan memanfaatkan Blogger JSON API?" In Progress Trial and Error...
Selamat mencoba dan semoga berhasil. Happy Blogging :)

Pranala Luar:

Blogger Widget - Cumulus Label Cloud

Bismillah. Alhamdulillah. Rehat dari bahasan berat, kali ini membahas yang ringan dan praktis saja, yaitu memasang widget cumulus label cloud di Blog. Widget cumulus label cloud ini ternyata masih terus dikembangkan setelah pada mulanya dibuat oleh Roy Tanck khusus untuk pengguna Wordpress dengan nama WP Cumulus Tag Cloud. Minimus kemudian mengembangkannya untuk versi Blogger karena pada Blogger tidak ada fasilitas tag jadi mungkin lebih tepatnya diberi nama Blogger Cumulus Label Cloud. Masih tetap menggunakan flash seperti pendahulunya, hanya ditambahkan beberapa fasilitas untuk mempercantik tampilan, seperti; penambahan angka sesuai dengan jumlah artikel pada label tersebut, penambahan kotak label ketika mouse hover, pengaturan warna untuk label, dan semakin mudah dalam penerapannya. Mau mencoba?
Blogger Cumulus Label Cloud

Integrasi Widget Cumulus pada Blogger

Tidak seperti sebelumnya, Cumulus ini cukup mudah dalam pemasangannya, ikuti langkah dibawah ini:
Langkah 1
Login ke Blogger
Langkah 2
Masuk ke Tata Letak
Langkah 3
Tambahkan sebuah Gadget
Menambahkan Gadget
Langkah 4
Pilih "Tambahkan Milik Anda"
Menambahkan Cumulus Label Cloud
Langkah 5
Masukan (copy paste) link dibawah ini pada bagian URL kemudian klik "Tambah URL":
http://henscripts.googlecode.com/svn/trunk/tag/cumulus.xml
Langkah 7
Atur konfigurasi dengan menyesuaikan pada Template yang anda gunakan
Konfigurasi Cumulus Label Cloud
Langkah 8
Simpan widget dan preview blog anda...

Pengaturan

Dibawah ini pengaturan untuk Cumulus Label Cloud. Ubahlah sesuai dengan keinginan anda.
  • Judul Label - Ubah sesuai dengan Judul Gadget.
  • Tinggi - Ubahlah sesuai tinggi gadget.
  • Tinggi Cloud - Ubah tinggi dalam satuan pixel, harus diperhatikan pula tinggi widget yang anda gunakan.
  • Lebar Cloud - Ubah lebar dalam satuan pixel, harus diperhatikan pula lebar widget yang anda gunakan.
  • Ukuran Huruf Min - Atur ukuran minimum font dari label, ini akan tampil sebagai label cloud terkecil pada widget.
  • Ukuran Huruf Maks - Atur ukuran maksimum font dari label, ini akan tampil sebagai label cloud terbesar pada widget.
  • Warna Label Min - Aturlah warna label ukuran terkecil. Warna ini akan mempengaruhi warna huruf terkecil saat rotasi pada widget.
  • Warna Label Maks - Aturlah warna label ukuran terbesar. Warna ini akan mempengaruhi warna huruf terbesar saat rotasi pada widget.
  • Warna Hover - Aturlah warna yang akan muncul saat mouse hover, warna ini mempengaruhi kotak, huruf dan angka label.
  • Kecepatan Rotasi - Mengatur kecepatan perputaran awan.
  • Warna Latar - Untuk mengatur warna latar belakang (background) label cloud.
  • Mode Transparan - Menetapkan warna latara belakang label cloud yang transparan.
  • Tampilkan Penanda - Menunjukkan jumlah label ketika Anda menggeser kursor mouse di atas label.

Kesimpulan

Disediakannya Blogger API memang mempermudah konektifitas antara satu aplikasi dengan aplikasi lainnya, lebih cepat dan lebih ringan, dan salah satunya adalah Blogger Cumulus Label Cloud ini. Beberapa masa yang lalu, untuk memasang cumulus label cloud ini sangatlah ribet dan rumit, namun sekarang pengguna awam pun bisa dengan mudah menggunakannya. Widget ini bersifat opsional atau tambahan. Selamat mencoba dan semoga berhasil. Happy Blogging :)

JavaScript SDK - Integrasi Facebook dengan Blog

Bismillah. Alhamdulillah. Setelah kemarin kita belajar membuat aplikasi Facebook untuk Blogger, artikel kali ini adalah lanjutan dari pembahasan tentang Facebook untuk Blog. Application ID atau API Key adalah kunci yang akan kita gunakan pada artikel kali ini. Setelah aplikasi kita buat, sebenarnya banyak plugin dan fungsi yang bisa kita gunakan dari Facebook, namun bagaimana semua ini bisa terjadi? Dan bagaimana mana pula sebuah blog mampu mengambil data dari Facebook? Mari kita pelajari...
 Integrasi Facebook dengan Blog

Apa SDK?

SDK atau Software Development Kit (atau sering disebut "devkit") adalah seperangkat alat pengembangan perangkat lunak yang digunakan dalam pembuatan aplikasi software, framework software, platform hardware, sistem komputer, konsol video game, sistem operasi, atau platform yang serupa. Ini membuat proses pembuatan suatu aplikasi menjadi sangat sederhana seperti halnya sebuah Application Programming Interface (API) yang terbentuk dari beberapa file yang merupakan bagian dari sebuah bahasa pemrograman atau termasuk membuat komunikasi perangkat keras canggih dengan sistem yang sudah tersedia didalamnya. Peralatan ini umumnya menyediakan alat debugging atau utilitas lain yang sering dilampirkan pada Integrated Development Environment (IDE).

Facebook Javascript SDK

Seperti telah dijelaskan diatas mengenai peranan SDK dalam pengembangan perangkat lunak, begitu pula peranan JavaScript SDK yang disediakan oleh Facebook. Javascript SDK Facebook menyediakan beragam pengaturan fungsi client-side (sisi pengguna atau sisi browser) untuk mengakses Facebook melalui pemanggilan server-side API (sisi server Facebook). Termasuk fungsi-fungsi API REST, API Graph, dan Dialog-dialog. Kedepannya, kita dapat melengkapi berbagai mekanisme rendering versi XFBML untuk Social Plugin, dan membuka saluran untuk halaman Canvas sehingga mampu berkomunikasi dengan Facebook.

Proses Otentikasi Facebook

Dibawah ini sedikit gambaran bagaimana ketika user (pengguna Facebook) berkunjung ke halaman website anda dan kemudian melakukan suatu tindakan (berbagi konten atau suka).
Facebook Authentication Process

Penggunaan dan Integrasi Javascript SDK

Setelah cukup panjang membahas Facebook Javascript SDK, sekarang waktunya kita mengintegrasikan fungsi Javascript SDK ini agar mampu memanggil fungsi-fungsi API sehingga blog kita bisa berkomunikasi lancar dengan sisi server (server-side) Facebook. Sebenarnya ada beberapa metode lain yang bisa digunakan namun diantara cara yang disediakan Facebook, Javascript SDK-lah yang cocok untuk pengguna Blogger. Untuk lebih lengkapnya silahkan pelajari jenis-jenis SDK yang disediakan Facebook pada halaman Dokumentasi Developer.

[1] Penyesuaian Dokumen (Document Conformance)
Mungkin sebagian pembaca artikel ini ada yang bertanya-tanya, kenapa membutuhkan penyesuaian dokumen? Pihak Facebook menjelaskan bahwa Document Conformance ini digunakan agar plugin XFBML dapat bekerja dengan baik dan fitur-fitur tambahan lainnya dapat pula bekerja daripada menggunakan metode iframe. Dengan Document Conformance ini berarti diasumsikan bahwa fungsi API benar-benar terintegrasi dari pada metode numpang (iframe). Selain itu, terutama bagi para pengguna browser Internet Explore, Document Conformance digunakan agar XFBML (eXtensible Facebook Markup Language) dapat dirender (ditampilkan) dengan sempurna. Tanpa Document Conformance ini, Internet Explorer tidak akan mampu merender fungsi-fungsi API dengan sempurna.
Sisipkan Document Conformance XFBML dibawah ini pada tag <html>:
xmlns:fb='http://ogp.me/ns/fb#'
Sehingga menjadi seperti dibawah ini (contoh dibawah untuk Blogger yang masih menggunakan HTML 4.0)
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr' xmlns:fb='http://ogp.me/ns/fb#'>

[2] Integrasi Javascript SDK Facebook
Setelah penyesuaian dokumen selanjutnya adalah integrasi Javascript SDK pada template blog. Javascript dibawah ini sudah disesuai dengan OAuth 2.0 (Open Standard Co-Authored) seperti dijelaskan oleh Jerry Cain pada blog Facebook dan juga telah dialihbahasakan sesuai dengan standar Facebook Localization.
Masukan (copy paste) kode Javascript SDK Facebook dibawah ini diatas tag </body> :
<div id='fb-root'/>
<script type='text/javascript'>
// <![CDATA[
window.fbAsyncInit = function() {
FB.init({
appId: 'API_KEY',
status: true,
cookie: true,
xfbml: true,
oauth: true
});
};
(function() {
var e = document.createElement('script');
e.async = true;
e.src = document.location.protocol
+ '//connect.facebook.net/id_ID/all.js';
document.getElementById('fb-root').appendChild(e);
}());
// ]]>
</script>
Jangan lupa ganti API_KEY dengan ID Aplikasi yang telah anda buat sebelumnya. Kemudian simpan template anda...

Bersambung...

Membuat Aplikasi Facebook Untuk Blog

Bismillah. Alhamdulillah. Facebook sebagai salah satu jejaring sosial sudah tidak diragukan lagi manfaatnya oleh para Blogger. Banyak yang kemudian memanfaatkan Facebook sebagai sarana untuk berbagai artikel yang tentunya dapat mendatangkan trafik yang lebih banyak lagi. Telah banyak blogger membahas tentang integrasi Facebook pada blog dari mulai menambangkan tombol "SUKA" sampai dengan integrasi komentar Facebook dengan Blog. Mungkin Blogger Tune-Up baru kali ini membahas tentang Facebook dibandingkan blogger lainnya dan boleh dikatakan tertinggal informasi. Namun tidak ada salahnya Blogger Tune-Up membahas hal ini sebagai tambahan referensi.
Membuat Aplikasi Facebook

Deskripsi

Pada artikel kali ini kita akan membahas cara membuat aplikasi Facebook dengan mengintegrasikan blog didalamnya. Facebook telah memberikan kesempatan untuk memanfaatkan API (Application Programming Interface) yang banyak digunakan sebagai saluran integrasi antara satu aplikasi dengan aplikasi lain. Disini kita akan mengintegrasikan blog dengan Facebook. Manfaatnya cukup banyak, salah satunya adalah blog yang telah terintegrasi menggunakan API Facebook bisa memanfaatkan hampir semua widget yang disediakan oleh Facebook dengan mudah. Blog yang terintegrasi melalui API Facebook mempermudah pengunjung untuk berbagai konten, baik itu berupa rekomendasi artikel, menandai artikel yang disukai, membagi artikel pada jejaring pengunjung dan lain sebagainya. API sekarang sudah menjadi bagian dari situs-situs besar dengan tujuan untuk mempermudah para pembaca menjangkau artikel-artikel atau informasi yang dibuat oleh suatu situs. Penasaran dengan API? (sama... hehehehe...)
Tutorial kali ini mungkin belum membahas secara teknis tentang fungsi aplikasi Facebook yang telah kita buat. Pada artikel berikutnya baru akan membahas lebih mendalam tentang pemanfaatan aplikasi Facebook ini. Tujuan utama dari pembuatan aplikasi Facebook untuk Blog ini sebenarnya sederhana yaitu mengambil "KUNCI" API agar proses integrasi antara Facebook dengan Blog kita semakin mudah. Tanpa kunci maka sulit untuk saling berkomunikasi satu sama lain.

Proses Pembuatan Aplikasi

Mudah-mudahan penjelasan diatas memberikan sedikit gambaran tentang fungsi API Key yang akan kita ambil dari Facebook. Untuk membuat aplikasi pada Facebook ikuti langkah dibawah ini:
Langkah 1
Pastikan anda dalam keadaan login pada situs Facebook dan Blog dengan akun yang telah anda buat (direkomendasikan akun anda telah terverifikasi)
Langkah 2
Masuklah ke Pengembang Facebook (Facebook Developers)
Langkah 3
Klik menu Aplikasi
Membuat Aplikasi Facebook
Langkah 4
Klik tombol "+ Create New App"
Membuat Aplikasi Facebook
Langkah 5
Kotak Dialog "Create New App" terbuka, isilah data yang diperlukan kemudian klik tombol "Lanjutkan"
Mengisi Form Aplikasi Facebook
Langkah 6
Isilah kotak "Pemeriksaan Keamanan" sesuai dengan gambar yang tampil kemudian klik tombol "Kirim"
Verifikasi Form Aplikasi Facebook
Langkah 7
Halaman Aplikas terbuka seperti gambar dibawah ini.
Halaman Setting Aplikasi Facebook
Anda bisa saja menyesuaikan bagian ini sesuai keperluan anda, misal mengganti icon (harus 16x16, tipe file JPG, PNG atau GIF) atau mengganti logo (harus maksimal berukuran 75x75, tipe file JPG, PNG atau GIF). Namun bagian yang terpenting adalah pengisian "App Domains" isilah dengan blogspot.com dan "Site URL" pada "Website with Facebook Login", isilah sesuai dengan URL blog anda. Bagian lain abaikan saja jika masih bingung dalam penggunaannya. Kemudian klik tombol "Simpan Perubahan"
Langkah 8
Nah... Sekarang kita sudah memiliki API Key atau Application ID yang terdapat pada bagian atas. Biasanya tertulis seperti dibawah ini:
Nama Aplikasi
App ID: 12345678901234 (biasanya terdiri dari 15 angka)
App Secret: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (bagian rahasia)
Langkah 9
Bersabarlah untuk menunggu artikel berikutnya... (hehehehe...)

Membuat Status via Aplikasi Anda

Ini anggaplah sebagai bonus saja dari pada tidak ada kegiatan setelah membuat aplikasi Facebook. Anda bisa menerbitkan status dari Aplikasi Facebook anda seperti gambar screenshoot dibawah ini:
Update Status dari Aplikasi Facebook
Caranya bagaimana?
1. Siapkan notepad atau yang sejenis kemudian copy paste URL dibawah ini:
https://www.facebook.com/dialog/feed?app_id=<APP_ID>&redirect_uri=http://modification-blog.blogspot.com
2. Ganti <APP_ID> sesuai dengan API Key/App ID (yang terdiri dari 15 angka) seperti terlihat pada langkah 8
3. Ganti URL http://modification-blog.blogspot.com sesuai dengan URL blog yang anda gunakan saat membuat aplikasi
4. Paste URL yang sudah dimodifikasi tersebut pada Adress Bar browser kemudian buka, maka halaman update status akan terbuka seperti dibawah ini:
Update Status dari Aplikasi Facebook
5. Kemudian "BAGIKAN!!!"... Berhasil!!!

Selamat mencoba dan semoga berhasil. Happy Blogging :)

Percantik Sidebar Komentar Versi 2.0

Satu tahun yang lalu Blogger Tune-Up pernah membuat widget komentar yang berfungsi untuk menampilkan komentar para pengunjung dengan bantuan JSON. Namun, widget tersebut belum bisa menampilkan avatar/gravatar pengujung yang meninggalkan komentar. Beauty Recent JSON Comments Sidebar 2.0 adalah penyempurnaan dari widget sidebar sebelumnya, yang telah mampu menampilkan avatar pengunjung. Selain mampu menampilkan avatar pengunjung, ketika kita mengarahkan mouse pada avatar maka akan muncul tooltips cantik yang menampilkan nama komentator. Tooltips ini tidak menggunakan jQuery tapi murni menggunakan CSS Level 3, dengan animasi yang tidak kalah menariknya dengan jQuery.
Widget Komentar dengan Avatar

Memasang Widget Komentar Dengan Avatar

Dibawah ini langkah-langkah pemasangan widget komentar dengan avatar pada sidebar. Blogger Tune-Up menyedia 2 jenis style dan pada langkah ini style yang digunakan merupakan style dengan warna yang telah diset. Sedangkan untuk style yang tanpa warna (menyesuaikan dengan template) disediakan pada bagian bawah langkah ini.
Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Rancangan - Elemen Laman"
Langkah 3
Tambah Widget/Gadget baru dengan type "HTML/JavaScript"
Langkah 4
Masukan (copy paste) kode dibawah ini pada bagian "Konten":
<style type="text/css">
#komentar {
background:#3eb5da;
margin:0;
padding:0;
border:1px solid #0971C8;
}
#komentar ul{
margin:0;
padding:0px;
list-style: none;
}
#komentar ul li:first-child {
border-top:none;
}
#komentar ul li {
height:46px;
border-bottom:1px solid #0971C8;
border-top:1px solid #CCCCCC;
padding:2px 0;
list-style:none;
}
#komentar ul li:last-child {
border-bottom: none;
}
#komentar ul li:hover {
background-color:#7BC4DF;
}
#komentar a,
#komentar a:link,
#komentar a:visited {
clear:both;
color:#222;
display:block;
text-decoration:none;
}
#komentar .gamen {
display: block;
float: left;
height: 42px;
left: 4px;
margin-right: 15px;
position: relative;
width: 42px;
}
#komentar .gamen>img {
border: 2px solid #ffffff;
-webkit-border-radius: 22px;
-moz-border-radius: 22px;
border-radius: 22px;
box-shadow: 0 1px 2px #222222;
}
#komentar ul li div.ismen {
color:#ffffff;
text-shadow:-1px -1px 1px #0971C8;
}
#komentar .ismen {
display: block;
font-size: 1em;
font-style: italic;line-height: 1.2;
padding: 2px 4px 2px 0;
}
#komentar .gamen>span{
width: 150px;
height: auto;
line-height: 20px;
padding: 5px;
left: 115px;
margin-left: -64px;
font-size: 1em;
font-weight:bold;
color: #212121;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
text-align: center;
border: 4px solid #0971C8;
background: rgba(255,255,255,0.7);
text-indent: 0px;
border-radius: 5px;
position: absolute;
pointer-events: none;
bottom: 100px;
opacity: 0;
box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
-webkit-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
#komentar .gamen>span:before,
#komentar .gamen>span:after{
content: '';
position: absolute;
bottom: -15px;
left: 50%;
margin-left: -9px;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid rgba(0,0,0,0.1);
}
#komentar .gamen>span:after{
bottom: -14px;
margin-left: -10px;
border-top: 10px solid #0971C8;
}
#komentar .gamen:hover>span{
opacity: 0.9;
bottom: 55px;
}
</style>
<div id='komentar'>
<ul>
<script type='text/javascript'>
//<![CDATA[
var jmlkomentar = 20;
var jmlkarakter = 60;
//]]></script>
<script type="text/javascript" src="http://henscripts.googlecode.com/svn/trunk/json.comments.min.js"></script>
<script type="text/javascript" src="http://modification-blog.blogspot.com/feeds/comments/default?alt=json&callback=tampilkankomentar"></script>
</ul>
</div>
Perhatian :
  • Ubahlah alamat blog (modification-blog.blogspot.com) sesuai dengan alamat blog anda.
  • var jmlkomentar = 20; ubah nilai 20 untuk menentukan jumlah komentar yang akan ditampilkan.
  • var jmlkarakter = 60; ubah nilai 60 untuk menentukan jumlah karakter yang akan ditampilkan (termasuk spasi).
Langkah 5
Simpan Widget dan preview blog anda...

Widget Komentar Dengan Avatar Tanpa Style

Jika kode di atas (lihat Langkah 4) akan menghasilkan tampilan yang memiliki style tersendiri, maka kode dibawah merupakan kode yang tanpa style. Ketika dipasangkan pada sidebar maka bentuk dan posisi akan mengikuti style default yang digunakan oleh blog anda. Untuk menggunakan kode dibawah ini, ganti saja kode pada Langkah 4 dari tag <style type="text/css"> sampai dengan tag </style>. Berikut kode CSS Widget Komentar Dengan Avatar Tanpa Style:
<style type="text/css">
#komentar {
margin:0;
padding:0;
}
#komentar ul{
margin:0;
padding:0px;
list-style: none;
}
#komentar ul li {
height:46px;
margin:0 !important;
padding:4px 0 !important;
display:block;
clear:both;
list-style:none;
}
#komentar ul li:last-child {
border-bottom:none;
}
#komentar ul li:hover {
background-color:#ccc;
}
#komentar a, #komentar a:link, #komentar a:visited {
clear:both;
color:#222;
display:block;
text-decoration:none;
text-shadow:0 1px 0 #ccc;
}
#komentar .gamen {
display: block;
float: left;
height: 42px;
left: 4px;
margin-right: 15px;
position: relative;
width: 42px;
}
#komentar .gamen>img {
border: 2px solid #fefefe;
-webkit-border-radius: 22px;
-moz-border-radius: 22px;
border-radius: 22px;
-webkit-box-shadow:0 1px 2px #222;
-moz-box-shadow:0 1px 2px #222;
box-shadow:0 1px 2px #222;
}
#komentar .gamen>span{
width: 150px;
height: auto;
line-height: 20px;
padding: 5px;
left: 115px;
margin-left: -64px;
font-size: 1em;
font-weight:bold;
color: #212121;
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
text-align: center;
border: 4px solid #ccc;
background: rgba(255,255,255,0.7);
text-indent: 0px;
border-radius: 5px;
position: absolute;
pointer-events: none;
bottom: 100px;
opacity: 0;
box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
-webkit-transition: all 0.3s ease-in-out;
-moz-transition: all 0.3s ease-in-out;
-o-transition: all 0.3s ease-in-out;
-ms-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
}
#komentar .gamen>span:before,
#komentar .gamen>span:after{
content: '';
position: absolute;
bottom: -15px;
left: 50%;
margin-left: -9px;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid rgba(0,0,0,0.1);
}
#komentar .gamen>span:after{
bottom: -14px;
margin-left: -10px;
border-top: 10px solid #ccc;
}
#komentar .gamen:hover>span{
opacity: 0.9;
bottom: 55px;
}
#komentar .ismen {
display: block;
font-size: 1em;
line-height: 1.2;
padding: 2px 4px 2px 0;
}
</style>

Kode CSS Widget Komentar Yang Dipadatkan

Dibawah ini kode CSS Level 3 untuk widget komentar beravatar yang dipadatkan. Silahkan anda ganti kode CSS diatas dengan kode CSS dibawah ini agar lebih pendek dan sederhana. Dan silahkan anda berekspresi dan modifikasi kode CSS tersebut sesuai kebutuhan.
Style
<style type="text/css">
#komentar {background:#3eb5da;margin:0;padding:0;border:1px solid #0971C8;}
#komentar ul{margin:0;padding:0px;list-style: none;}
#komentar ul li:first-child {border-top:none;}
#komentar ul li {height:46px;border-bottom:1px solid #0971C8;border-top:1px solid #CCCCCC;padding:2px 0;list-style:none;}
#komentar ul li:last-child {border-bottom: none;}
#komentar ul li:hover {background-color:#7BC4DF;}
#komentar a, #komentar a:link, #komentar a:visited {clear:both;color:#222;display:block;text-decoration:none;}
#komentar .gamen {display: block;float: left;height: 42px;left: 4px;margin-right: 15px;position: relative;width: 42px;}
#komentar .gamen>img {border: 2px solid #ffffff;-webkit-border-radius: 22px;-moz-border-radius: 22px;border-radius: 22px;box-shadow: 0 1px 2px #222222;}
#komentar ul li div.ismen {color:#ffffff;text-shadow:-1px -1px 1px #0971C8;}
#komentar .ismen {display: block;font-size: 1em;font-style: italic;line-height: 1.2;padding: 2px 4px 2px 0;}
#komentar .gamen>span{width: 150px;height: auto;line-height: 20px;padding: 5px;left: 115px;margin-left: -64px;font-size: 1em;font-weight:bold;color: #212121;text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);text-align: center;border: 4px solid #0971C8;background: rgba(255,255,255,0.7);text-indent: 0px;border-radius: 5px;position: absolute;pointer-events: none;bottom: 100px;opacity: 0;box-shadow: 1px 1px 2px rgba(0,0,0,0.2);-webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;-ms-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out;}
#komentar .gamen>span:before, #komentar .gamen>span:after{content: '';position: absolute;bottom: -15px;left: 50%;margin-left: -9px;width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-top: 10px solid rgba(0,0,0,0.1);}
#komentar .gamen>span:after{bottom: -14px;margin-left: -10px;border-top: 10px solid #0971C8;}
#komentar .gamen:hover>span{opacity: 0.9;bottom: 55px;}
</style>
Non Style
<style type="text/css">
#komentar {margin:0;padding:0;}
#komentar ul{margin:0;padding:0px;list-style: none;}
#komentar ul li {height:46px;margin:0 !important;padding:4px 0 !important;display:block;clear:both;list-style:none;}
#komentar ul li:last-child {border-bottom:none;}
#komentar ul li:hover {background-color:#ccc;}
#komentar a, #komentar a:link, #komentar a:visited {clear:both;color:#222;display:block;text-decoration:none;text-shadow:0 1px 0 #ccc;}
#komentar .gamen {display: block;float: left;height: 42px;left: 4px;margin-right: 15px;position: relative;width: 42px;}
#komentar .gamen>img {border: 2px solid #fefefe;-webkit-border-radius: 22px;-moz-border-radius: 22px;border-radius: 22px;-webkit-box-shadow:0 1px 2px #222;-moz-box-shadow:0 1px 2px #222;box-shadow:0 1px 2px #222;}
#komentar .gamen>span{width: 150px;height: auto;line-height: 20px;padding: 5px;left: 115px;margin-left: -64px;font-size: 1em;font-weight:bold;color: #212121;text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);text-align: center;border: 4px solid #ccc;background: rgba(255,255,255,0.7);text-indent: 0px;border-radius: 5px;position: absolute;pointer-events: none;bottom: 100px;opacity: 0;box-shadow: 1px 1px 2px rgba(0,0,0,0.2);-webkit-transition: all 0.3s ease-in-out;-moz-transition: all 0.3s ease-in-out;-o-transition: all 0.3s ease-in-out;-ms-transition: all 0.3s ease-in-out;transition: all 0.3s ease-in-out;}
#komentar .gamen>span:before, #komentar .gamen>span:after{content: '';position: absolute;bottom: -15px;left: 50%;margin-left: -9px;width: 0;height: 0;border-left: 10px solid transparent;border-right: 10px solid transparent;border-top: 10px solid rgba(0,0,0,0.1);}
#komentar .gamen>span:after{bottom: -14px;margin-left: -10px;border-top: 10px solid #ccc;}
#komentar .gamen:hover>span{opacity: 0.9;bottom: 55px;}
#komentar .ismen {display: block;font-size: 1em;line-height: 1.2;padding: 2px 4px 2px 0;}
</style>
Selamat mencoba dan semoga berhasil. Happy Blogging :)

Membuat Plugin OpenSeach Untuk Blogger

OpenSearch adalah kumpulan format sederhana untuk berbagi hasil pencarian. OpenSearch digunakan untuk membuat sebuah mesin pencari yang dapat digunakan oleh aplikasi client pencarian (browser). Masih bingung juga dengan pengertian tersebut? Wajarlah, karena jika mengikuti pengertian yang diberikan oleh situs resminya memang agak sulit dimengerti. Pengertian OpenSearch tersebut memang diambil dan diterjemahkan dari situs resminya OpenSearch.org. Maksudnya, pada browser yang kita gunakan biasanya ada baris mesin pencari pada sebelah kanan atas terutama pada Firefox dan IE 7.
Pada baris mesin pencari ini kita bisa memilih dan menentukan mesin pencari apa yang akan kita gunakan. Baris mesin pencari sangat berguna bagi mereka yang ingin melakukan pencarian cepat tanpa harus membuka halaman mesin pencari yang dimaksud, misal kita ingin melakukan pencarian menggunakan Google maka kita tidak perlu membuka terlebih dahulu halaman Google, cukup pilih mesin pencari yang akan digunakan dan ketikan kata kunci pada area yang disediakan. Maka halaman Google akan terbuka dengan hasil pencarian yang sesuai dengan kata kunci yang telah dimasukan. Nah, pada artikel ini Blogger Tune-Up akan membahas cara membuat plugin browser mesin pencari untuk blog kita sendiri.
Membuat Plugin OpenSeach Untuk Blogger

Skenario Plugin OpenSeach

Ketika pengunjung membuka halaman blog maka pada bagian "Daftar Mesin Pencari" akan keluar sebuah baris informasi penambahan mesin pencari, (misal; Tambahkan "Blogger tune-Up"). Dan ketika baris informasi penambahan tersebut di klik maka sebuah mesin pencari akan terpasang. Jika kita berencana mencari-cari informasi dari blog yang menyediakan mesin pencari tersebut maka cukup memilih mesin pencari untuk blog yang kita tuju dan masukan kata kunci. Halaman blog yang dituju akan terbuka bersama dengan artikel yang sesuai dengan kata kunci. Untuk memposisikan mesin pencari dan atau menghapusnya cukup masuk ke menu "Kelola Mesin Pencari..."

Deskripsi Berkas OpenSearch

Berkas Plugin OpenSearch untuk Blogger ditulis menggunakan bahasa XML, jadi bisa ditulis dengan perangkat lunak Notepad atau yang sejenisnya. Berkas file XML yang digunakan sebagai mesin pencari sebenarnya cukup sederhana, cukup mengikuti aturan template dasar di bawah ini. Kita cukup menyesuaikannya berdasarkan kebutuhan dari plugin mesin pencari tertentu yang ingin Anda tulis. Dibawah ini template Plugin OpenSearch yang diambil dari situs Developer Mozilla dan situs OpenSearch.

Template Plugin OpenSearch dari Mozilla Developer Network
Dibawah ini adalah template yang di ambil dari situs Mozilla Developer Network, silahkan kunjungi situs resminya jika ingin memahami lebih lanjut tentang penggunaan dan penerapannya.
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>engineName</ShortName>
<Description>engineDescription</Description>
<InputEncoding>inputEncoding</InputEncoding>
<Image width="16" height="16" type="image/x-icon">data:image/x-icon;base64,imageData</Image>
<Url type="text/html" method="method" template="searchURL">
<Param name="paramName1" value="paramValue1"/>
...
<Param name="paramNameN" value="paramValueN"/>
</Url>
<Url type="application/x-suggestions+json" template="suggestionURL"/>
<moz:SearchForm>searchFormURL</moz:SearchForm>
</OpenSearchDescription>
Template Plugin OpenSearch dari OpenSearch Draft
Dibawah ini adalah template yang di ambil dari situs OpenSearch Draft sebagai pencetus ide OpenSearch, silahkan kunjungi situs resminya jika ingin memahami lebih lanjut tentang penggunaan dan penerapannya.
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Web Search</ShortName>
<Description>Use Example.com to search the Web.</Description>
<Tags>example web</Tags>
<Contact>admin@example.com</Contact>
<Url type="application/rss+xml" template="http://example.com/?q={searchTerms}&amp;pw={startPage?}&amp;format=rss"/>
</OpenSearchDescription>

Contoh Berkas Plugin OpenSearch Blogger

Dibawah ini adalah template yang Plugin OpenSearch yang Blogger Tune-Up gunakan. Silahkan klik link ini untuk melihat source code Plugin OpenSearch yang Blogger Tune-Up buat untuk browser Firefox.
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
<ShortName>Blogger Tune-Up</ShortName>
<Description>Pencarian Blogger Tune-Up Web Design Tutorial Sumber Daya dan Inspirasi</Description>
<Url type="text/html" method="get" template="http://modification-blog.blogspot.com/search">
<Param name="q" value="{searchTerms}" />
</Url>
<Image width="16" height="16" type="image/x-icon">http://modification-blog.blogspot.com/favicon.ico</Image>
<Developer>Dede Hendriono</Developer>
<InputEncoding>UTF-8</InputEncoding>
<Url type="application/opensearchdescription+xml" rel="self" template="http://modification-blog.blogspot.com/cari.xml" />
<moz:SearchForm>http://modification-blog.blogspot.com/search</moz:SearchForm>
</OpenSearchDescription>
Gunakan Notepad atau perangkat lunak sejenisnya untuk membuat atau melakukan perubahan data dan jangan lupa simpanlah file ini dengan filetype .xml, jangan lupa beri nama file tersebut (misal; cari.xml).
<ShortName>NAMA_BLOG</ShortName>
Ubah NAMA_BLOG sesuai dengan nama Blog anda
<Description>DESKRIPSI_BLOG</Description>
Ubah DESKRIPSI_BLOG sesuai dengan deskripsi blog anda
<Url type="text/html" method="get" template="http://ALAMAT_BLOG/search">
<Image width="16" height="16" type="image/x-icon">http://ALAMAT_BLOG/favicon.ico</Image>
<moz:SearchForm>http://ALAMAT_BLOG/search</moz:SearchForm>
Ubah ALAMAT_BLOG sesuai dengan alamat blog anda
<Developer>NAMA_ADMIN</Developer>
Ubah NAMA_ADMIN sesuai dengan nama pengelola Blog
<Url type="application/opensearchdescription+xml" rel="self" template="http://URL_HOSTING/nama_file.xml" />
Ubahlah link http://URL_HOSTING/nama_file.xml sesuai dengan alamat tempat anda menyimpan file ini. (berarti 2 kali pengeditan, upload, ambil alamat link, edit lagi dan masukan alamat link pada file ini). Unggahlah file ini pada hosting milik anda.

Integrasi Plugin OpenSearch Blogger

Setelah berkas plugin OpenSearch Blogger sudah di unggah pada hosting anda, ikuti langkah dibawah ini.
Langkah 1
Login ke Blogger
Langkah 2
Masuk ke Rancangan - Edit HTML
Langkah 3
Cari kode dibawah ini:
<head>
atau
</head>
Langkah 4
Masukan (copy paste) kode dibawah ini diantara tag <head>...</head>:
<link href='http://URL_HOSTING/nama_file.xml' rel='search' title='Blogger Tune-Up' type='application/opensearchdescription+xml'/>
Jangan lupa ubah dulu link sesuai dengan link yang diberikan hosting.
Langkah 5
Simpan Template dan Preview Blog. Jika benar maka akan ada sebuah baris penambahan mesin pencari.

Selamat mencoba dan semoga berhasil... Happy Blogging :)

Autolink Mini MP3 Player for Blogger Version 2.0

Bismillah. Alhamdulillah. Plugin Autolink Mini MP3 Player for Blogger Version 2.0 adalah pengembangan dan perbaikan dari Autolink Mini MP3 Player for Blogger Version 1.0. Terima kasih untuk para pembaca setia Blogger Tune-Up atas kritik, saran dan masukannya sehingga Autolink Mini MP3 Player for Blogger terus dikembangkan dengan harapan akan semakin mendekati kebutuhan para Blogger tanah air. Secara garis besar plugin Mini Music Player kali ini masih berbasis dari script plugin sebelumnya dan dengan player yang sama pula. Lalu apa pengembangannya? Hanya sedikit tapi lumayanlah lebih bagus dari sebelumnya...
Autolink Mini MP3 Player for Blogger Version 2.0

Update 15-12-2011 Autolink Mini MP3 Player Versi 2.0

  • Seluruh file diletakan pada server Google, sehingga loading lebih cepat (mudah-mudahan akun Blogger Tune-Up di Google Code tidak ditutup lagi)
  • Disertakan pengaturan penggantian keterangan file MP3 yang ada dibawah player
  • Disertakan pengaturan penggantian keterangan file MP3 yang ada dibawah player saat mouse diatas link Unduhan (hover)

Kekurangan Autolink Mini MP3 Player Versi 2.0

  • Background Keterangan file MP3 yang ada dibawah Player masih belum bisa di setting sesuai keinginan
  • Baru bisa mengenali file dengan ekstensi .mp3 saja, untuk .ogg, .wav, dan .swf (khusus untuk .swf sebenarnya tidak diperlukan player) belum bisa mengenalinya
  • Mohon bantuan untuk menemukan kelemahan dan kekurangan lainnya

Integrasi Autolink Mini MP3 Player Versi 2.0

Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Rancangan - Edit HTML"
Langkah 3
Cari kode dibawah ini (pilih salah satu saja):
</head>
atau:
</body>
Langkah 4
Masukan (copy paste) kode dibawah ini diatas kode pada langkah 3:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">//<![CDATA[
var unduhan ="Download";
var mos = "Right click - Save Target As for download";
//]]>
</script>
<script type="text/javascript" src="http://henscripts.googlecode.com/svn/trunk/minimusicplayer.min.js"></script>
Langkah 5
Simpan template...

Setting Keterangan Autolink Mini MP3 Player Versi 2.0

  • var unduhan ="Download"; ubahlah kata "Download" sesuai dengan keinginan anda (misal; Unduh, Sedot, Hisap, Sikat dan lain sebagainya). Kata ini akan muncul sebagai keterengan pada bagian bawah player.
  • var mos = "Right click - Save Target As for download"; ubahlah kata "Right click - Save Target As for download" sesuai dengan kalimat yang anda sukai. Kalimat ini akan muncul pada saat mouse berada diatas keterangan file yang berada dibawah player.

Memasukan File MP3 pada Artikel/Widget

Untuk memasukan file MP3 pada artikel blog atau widget, caranya sama saja seperti versi sebelumnya. Silahkan baca disini.

Selamat mencoba dan semoga berhasil. Happy Blogging :)

Menambahkan Widget Page Loading Time

Kali ini kita akan membuat script Page Loading Time. Page Loading Time atau Waktu Pemuatan Halaman merupakan perangkat bantu untuk mengetahui waktu yang dibutuhkan untuk memanggil keseluruhan halaman dari suatu halaman situs atau blog. Dengan widget ini kita bisa mengetahui kecepatan load halaman blog, ini akan memicu pengelola blog untuk mengoptimasi blognya agar lebih cepat. Langkah-langkah untuk mengoptimasi blog akan dibahas pada artikel berikutnya. Satuan yang akan digunakan adalah milidetik jadi jika anda ingin menggunakan satuan waktu menit kira-kira bagaimana ya? Mari kita coba memasang script page loading time.
Page Loading Time

Memasang Script Page Loading Time

Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Rancangan - Edit HTML"
Langkah 3
Cari kode dibawah ini:
</head>
Langkah 4
Masukan (copy paste) kode dibawah ini diatas kode pada langkah 3:
<script type='text/javascript'>//<![CDATA[
var now = new Date();
window.onload = function() {
document.getElementById("waktuload").style.display = "block";
document.getElementById("milidetik").innerHTML = (new Date()).getTime() - now.getTime();
}
//]]></script>
Langkah 5
Cari kode dibawah ini:
<body>
Langkah 6
Sisipkan kode dibawah ini:
id="waktuload"
pada kode langkah 5, sehingga menjadi seperti dibawah ini:
<body id="waktuload">
Langkah 7
Tempatkan kode dibawah ini dimana saja sesuai dengan keinginan anda
Loading time <span id='milidetik'/> ms
Perhatian : Kode diatas akan menampilkan waktu pemuatan halaman yang sedang anda lihat.
Langkah 8
Simpan template dan preview blog anda....

Selamat mencoba dan semoga berhasil. Happy Blogging :)

Membuat Gadget Status Twitter (Plugin Twitter JS)

Membuat gadget untuk menampilkan status Twitter sebenarnya pernah dibahas pada artikel sebelumnya, namun pada tips trik blog kali ini kita akan mencoba memanfaatkan plugin JavaScript yang dibuat oleh remysharp.com. Dengan menggunakan plugin Twitter JS proses pembuatan widget untuk menampilkan status Twitter menjadi sangat mudah, sederhana dan menarik. Plugin Twitter JS memberikan kesempatan penggunanya untuk membuat style yang sesuai dengan keinginan, lebih menarik serta bukan hanya untuk menampilkan status Twitter kita namun bisa juga digunakan untuk menampilkan status orang lain, atau status kumpulan orang lain yang sudah kita kelompokan.
Plugin Twitter JS
Untuk menambahkan gadget status Twitter pada blog dengan menggunakan plugin Twitter JS, maka ada 3 kelompok kode yang akan digunakan, yaitu sebagai berikut:
Kode JavaScript
Kode JavaScript ini digunakan untuk memanggil status dari server Twitter sesuai dengan id penggunanya. Jika anda ingin menggunakan hosting sendiri, silahkan download file JavaScript Twitter JS disini.

Script Dasar
<script src="http://twitterjs.googlecode.com/svn/trunk/src/twitter.min.js" type="text/javascript"></script>
<script charset="utf-8" type="text/javascript">
getTwitters('twitters', {
id: 'dedehendriono/motivator',
clearContents: true,
count: 8,
enableLinks: false,
withFriends: true,
ignoreReplies: false,
template: '<a class="even" href="http://twitter.com/%user_screen_name%/statuses/%id_str%" target="_blank"><span class="prev_pic"><img height="48" width="48" src="%user_profile_image_url%" /></span><span class="post_name">"%text%"</span><span class="meta">%user_name% | %time%</span></a>'
});
</script>

Settings Option JavaScript
Dibawah ini adalah option untuk mengeset bagian yang akan di tampilkan dari status Twitter. Tidak semua option dibawah ini harus diikut sertakan.
  • id : nama tampilan anda pada twitter, misal nama tampilan saya "dedehendriono". id juga dapat juga diganti dengan daftar (list) dari status orang-orang yang sudah kita kumpulkan (dalam format user/nama-daftar, misal dedehendriono/motivator) atau dapat juga disini hash tag.
  • count : jumlah status twitter yang ingin ditampilkan, secara default di isi 1.
  • clearContents : true/false - jika anda memiliki isi didalam sebuah wadah maka kita bisa memindah bariskannya. Secara default adalah true
  • enableLinks : true/false - untuk memeriksa tweet yang mengandung link dan membuatnya bisa di klik, termasuk @balasan dan#hashtag. Secara default adalah true.
  • ignoreReplies : true/false - tetap menampilkan tweet yang dimulai dengan @. Jika permintaan 1 tweet, dan flag ini di set, dibelakang layar ia akan meminta 2 dengan kasus yang pertama dimulai dengan @. Tetapi jika permintaan lebih dari 2 balasan, maka tidak akan ditampilkan.
  • withFriends : true/false - apakah akan menyertakan tweet dari teman. Secara defaults di set false.
  • template : HTML template digunakan dalam setiap elemen li. Lihat variabel template dibawah.
  • prefix : jika tidak menggunakan template, anda dapat menggunakan set ini. Misal kita ingin menambahkan 'Hendriono berkata:'. Disini juga anda bisa saja menambahkan variabel template.
  • timeout : nilai dalam milidetik sebelum memicu onTimeout. Jika onTimeout diatur, batas waktu default adalah 10 detik.
  • onTimeout : fungsi untuk panggilan ketika batas waktu tercapai. Konteks diatur ke tweet elemen HTML yang akan dimasukkan ke dalamnya.
  • onTimeoutCancel : true/false - jika tidak di atur maka tidak ada batasan picu, namun script Twitter akan dapat dipanggil secara lengkap dan tidak ada pembatalan. Untuk menghindari hal ini, ditetapkan onTimeoutCancel = true. Set default adalah true.
  • newwindow: true/false - jika di set true, semua link didalam tweet (tidak terkecuali) akan dibuka pada sebuah jendela baru. Set defaults adalah false.
  • callback - fungsi untuk memanggil ketika twitter telah sempurna di render. Tidak ada batasan waktu.

Variabel Template
Semua variabel harus diapit oleh simbol% (lihat contoh di atas atau dibawah).
  • text - pesan status yang akan ditampilkan
  • id_str - id dari pesan status (catatan bahwa id telah digunakan sebelumnya, tapi untuk mendapatkan id yang benar, Anda perlu menggunakan id_str)
  • time - waktu relatif
  • created_at - waktu baku
  • user_name - nama asli
  • user_screen_name - nama tampilan
  • user_id_str - id pengguna
  • user_profile_image_url - gambar avatar pengguna sesuai id
  • user_url - alamat (link url) pengguna sesuai id
  • user_location - lokasi pengguna sesuai id
  • user_description - deskripsi pengguna sesuai id

Kode HTML
Kode HTML dibawah ini digunakan sebagai wadah (container) untuk menampilkan status twitter.
<div id="twitters" class="speciallist">
<p><a href="http://twitter.com/dedehendriono">Jika malas menunggu - silahkan kunjungi halaman twitter kami</a></p>
</div>
Kode CSS
Kode CSS dibawah ini hanyalah contoh. Anda bisa saja berkreasi menurut imajinasi anda.
#twitters {margin:10px auto;}
.even{background-color:#222;}
.prev_pic{border:1px solid #282828;background-color:#131313;display:block;float:left;height:48px;left:5px;margin-right:15px;position:relative;top:1px;width:48px;}
a:hover .prev_pic{border:1px solid #fff;}
.prev_pic img, a:hover .prev_pic img{border:none;}
.post_name{color:#fff;display:block;font-size:13px;/*font-weight:bold;*/height:20px;overflow:hidden;padding:0;padding-top:6px;max-width:80%;}
.meta, .meta a{color:#777;font-size:11px;text-decoration:none;}
.meta a:hover{text-decoration:underline;}
.meta_sub{border-right:1px solid #777;padding-right:5px;margin-right:5px;}
.speciallist{padding-top:3px;padding-bottom:15px;}
.speciallist ul{list-style-type:none;padding:none;margin:none;}
.speciallist a{background-color:#222;border-bottom:1px solid #282828;border-top:1px solid #131313;clear:both;display:block;height:52px;padding:3px 0;text-decoration:none;position:relative;overflow:hidden;}
.speciallist a:hover{background:#333 url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr-Q1kjnLNYoZUvjvP98RgJDqvFQa6cVHVa-yK09pA9_exg52vlKrrTFPI2BFERCgQyT7s3pB55YpQI3du6onUo2PM1LR-mYfJVU0lbgNhcy6ZA6jEHM17iD8j68_5F-VYtGjlTdk-pOIx/s800/bg_speciallist.jpg) no-repeat scroll right 8px;}

Gadget Status Twitter dengan Twitter JS

Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Rancangan - Elemen Laman"
Langkah 3
Klik "Tambah Gadget" dan pilih gadget "HTML/JavaScript"
Langkah 4
Masukan kode dibawah ini pada kotak "Konten":
<style>
#twitters {margin:10px auto;}
.even{background-color:#222;}
.prev_pic{border:1px solid #282828;background-color:#131313;display:block;float:left;height:48px;left:5px;margin-right:15px;position:relative;top:1px;width:48px;}
a:hover .prev_pic{border:1px solid #fff;}
.prev_pic img, a:hover .prev_pic img{border:none;}
.post_name{color:#fff;display:block;font-size:13px;/*font-weight:bold;*/height:20px;overflow:hidden;padding:0;padding-top:6px;max-width:80%;}
.meta, .meta a{color:#777;font-size:11px;text-decoration:none;}
.meta a:hover{text-decoration:underline;}
.meta_sub{border-right:1px solid #777;padding-right:5px;margin-right:5px;}
.speciallist{padding-top:3px;padding-bottom:15px;}
.speciallist ul{list-style-type:none;padding:none;margin:none;}
.speciallist a{background-color:#222;border-bottom:1px solid #282828;border-top:1px solid #131313;clear:both;display:block;height:52px;padding:3px 0;text-decoration:none;position:relative;overflow:hidden;}
.speciallist a:hover{background:#333 url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr-Q1kjnLNYoZUvjvP98RgJDqvFQa6cVHVa-yK09pA9_exg52vlKrrTFPI2BFERCgQyT7s3pB55YpQI3du6onUo2PM1LR-mYfJVU0lbgNhcy6ZA6jEHM17iD8j68_5F-VYtGjlTdk-pOIx/s800/bg_speciallist.jpg) no-repeat scroll right 8px;}
</style>
<script src="http://twitterjs.googlecode.com/svn/trunk/src/twitter.min.js" type="text/javascript"></script>
<script charset="utf-8" type="text/javascript">
getTwitters('twitters', {
id: 'dedehendriono/motivator',
clearContents: true,
count: 8,
enableLinks: false,
withFriends: true,
ignoreReplies: false,
template: '<a class="even" href="http://twitter.com/%user_screen_name%/statuses/%id_str%" target="_blank"><span class="prev_pic"><img height="48" width="48" src="%user_profile_image_url%" /></span><span class="post_name">"%text%"</span><span class="meta">%user_name% | %time%</span></a>'
});
</script>
<div id="twitters" class="speciallist">
<p><a href="http://twitter.com/dedehendriono">Jika malas menunggu - silahkan kunjungi halaman twitter kami</a></p>
</div>
Perhatian! Kode diatas hanyalah contoh, silahkan anda berkreasi dengan Twitter JS
Langkah 5
Klik tombol "SIMPAN" dan preview blog anda...

Selamat mencoba dan semoga berhasil... Happy Blogging :)

Special thanks to remysharp.com for Twitter JS Plugin

Simple jQuery Twitter Count Follower

Bismilllah. Alhamdulillah. Ketika kita mengunjungi suatu website kadang kita menemukan penghitungan (counter) jumlah follower Twitter. Hal ini cukup unik juga untuk kita pasangkan pada blog, selain untuk pelengkap blog, juga bisa kita gunakan sebagai pemberitahuan kepada pengunjung tentang jumlah pengikut blog kita di Twitter. Hal yang sederhana namun menarik perhatian. Bagaimana semua itu dibuat? Kali ini kita tetap menggunakan bantuan jQuery untuk menampilkan jumlah pengikut (follower) Twitter. Let's less write do more...

Integrasi Simple jQuery Twitter Count Follower pada Template

Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Rancangan - Edit HTML"
Langkah 3
Cari kode dibawah ini:
</head>
Langkah 4
Masukan (copy paste) kode dibawah ini diatas kode pada langkah 3:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js' type='text/javascript'/>
<script type='text/javascript'>//<![CDATA[
$(document).ready(function(){
$(function() {
$.ajax({
url: 'http://api.twitter.com/1/users/show.json',
data: { screen_name: 'NAMA ANDA' },
dataType: 'jsonp',
success: function(data) {
$('#followers').html(data.followers_count.
toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ","));
}
});
});
});
//]]></script>
Perhatian! Jika anda pernah memasang framework jQuery maka kode pada Langkah 4 baris 1 tidak perlu diikutsertakan
Langkah 5
Simpan Template kemudian masuk ke "Rancangan - Elemen Laman"

Integrasi Simple jQuery Twitter Count Follower pada Widget/Gadget

Langkah 6
Tambahkan Gadget baru dengan type "HTML/JavaScript"
Langkah 7
Masukan kode dibawah ini pada bagian konten:
<span id="followers"></span>
Langkah 8
Simpan gadget dan preview blog anda

Keterangan:
  • Ganti NAMA ANDA sesuai dengan akun twitter anda (lihat Langkah 4 Baris 6)...
  • Silahkan anda berkreasi menurut imaginasi anda...

Selamat mencoba dan berkarya... Happy Blogging :)

jQuery Anti Adblock Versi 2.00

Bismillah. Alhamdulillah. Artikel kali ini merupakan update atau perbaikan jQuery Anti Adblock Versi 1.00 yang terkesan rumit dan terlalu banyak script. Pada jQuery Anti Adblock Versi 2.00 ini dilakukan penyederhanaan sehingga proses integrasi pada Blogger lebih mudah dan lebih cepat reaksinya terhadap tingkah laku pengunjung. Mengenai apa jQuery Anti Adblock silahkan merujuk pada artikel sebelumnya.
jQuery Anti AdBlock

Update jQuery Anti Adblock Versi 2.00 (04 September 2011)

  • Script ditelatakan pada Hosting Google Code sehingga lebih sederhana
  • File CSS bisa diarahkan pada hosting sendiri

Integrasi jQuery Anti Adblock pada Blogger

Langkah 1
Login ke Blogger
Langkah 2
Masuk ke "Rancangan - Edit HTML"
Langkah 3
Cari kode dibawah ini:
</head>
atau
</body>
Langkah 4
Masukan (copy paste) kode dibawah ini diatas kode pada langkah 4:
(Update 30 Desember 2012)
<script src='http://henscripts.googlecode.com/svn/trunk/jquery.antiadsblock.js' type='text/javascript'></script>
Langkah 5
Simpan template dan preview blog

Integrasi jQuery Anti Adblock pada Iklan

Jika kita sudah memasang jQuery Anti Adblock pada blog maka hal tersebut belum memberikan efek pada blog kita karena iklan kita belum memiliki identitas yang sesuai dengan jQuery Anti Adblock. Kita harus memberikan identitas pada kode-kode iklan yang kita pasang pada blog agar jQuery Anti Adblock mampu membacanya dan kemudian memberikan tindakan. Setiap kode iklan yang kita pasang pada blog haruslah ditempatkan diantara tag dibawah ini:
<div class="adsantilok">
<!-- Simpan Iklan Disini -->
</div>
Jika sudah demikian maka barulah jQuery Anti Adblock mampu bekerja dengan baik, silahkan dicoba untuk mem-preview blog anda dan aktifkan perangkat lunak pemblokir iklan dan lihatlah efek zoom dari jQuery Anti Adblock. SEMPURNA!!!!!!!!!!!!

jQuery Draggable Popup Window

Bismillah. Alhamdulillah. Dari judul artikelnya saja sudah bisa di tebak, bahwa artikel kali ini akan membahas popup window. Popup window sering kali dianalogikan sebagai cara yang kurang disukai oleh para visitor blog karena popup window yang keluar pada suatu halaman kadang kala membuyarkan konsentrasi mereka saat sedang sibuk mencari-cari sesuatu yang dibutuhkan. Popup Window memang salah satu cara para blogger untuk bisa menyampaikan sesuatu yang di anggap cukup penting atau sekedar untuk menampilkan iklan sebagai sarana untuk menambah penghasilan. Bahkan ada beberapa blogger yang menyamarkan popup window-nya dan ada pula yang menggunakan metode double click to close (dua kali klik untuk menutup) popup window. Terserah para pemilik blog akan menggunakan metode apa, dan kali ini Blogger Tune-Up akan mencoba memberikan satu widget popup window yang bisa di geser.

Fasilitas Draggable Popup Window

  • Click & Drag yang berfungsi untuk menggeser jendela
  • Min & Max yang berfungsi untuk menampilkan (maximize) atau melipat (minimize) isi popup window
  • Close untuk menutup popup window

Kelebihan Draggable Popup Window

  • Kompatibel dengan berbagai browser
  • Tersusun dari kode-kode yang sangat kecil namun sangat fungsional
  • Mudah digunakan
  • Open Source
  • Desain yang elegan (CSS3) dengan efek yang indah (jQuery)

Kekurangan Draggable Popup Window

  • Masih melibatkan tag body
  • Tidak menggunakan cokie sehingga popup window akan keluar disetiap load halaman
  • Script terbagi dua bagian yaitu JavaScript murni dan script jQuery
  • Dan bug-bug lainnya masih di telusuri
  • Posisi popup window tidak tetap

Kode CSS Draggable Popup Window

Jika anda pengguna Blogger, tempatkan kode CSS ini diatas tag ]]</b:skin>
.ads_popup_window{
left:300px;
top:100px;
width:500px;
position:absolute;
z-index: 100;
padding: 8px;
background: #eee;
background: -moz-linear-gradient(top, rgba(255, 255, 255, .9), rgba(211, 211, 211, .9));
background: -webkit-gradient(linear,left top,left bottom,from(rgba(255, 255, 255, .9)),to(rgba(211, 211, 211, .9)));
border: 1px solid #fff;
border-radius: 10px;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
-webkit-box-shadow: #600 0 2px 15px;
-moz-box-shadow: #600 0 2px 10px;
margin:0 auto 10px;
float:left;
color:rgba(0, 0, 0, 0.75);
font-size: 12px;
font-family: Verdana, Arial,Helvetica,sans-serif;
text-shadow:0 1px 0 #FFFFFF;
}
.popup_heading{
float:left;
width:480px;
cursor:move;
position:relative;
border-radius: 5px 5px 0 0;
-webkit-border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
background: #ff0000;
background: -moz-linear-gradient(center top , red, #454545) repeat scroll 0 0 transparent;
background: -webkit-gradient(linear,left top,left bottom,from(rgba(255, 0, 0, .9)),to(rgba(69, 69, 69, .9)));
border: 1px solid #494949;
color: #FFF;
padding: 4px 2%;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
font-weight: bold;
}
.ads_buttons{
position:absolute;
left:10px;
top:2px;
cursor: pointer;
}
.drag_area{
float:right;
width:92%;
text-align: right;
}
.ads_content{
float:left;
width:96%;
font-size:12px;
padding:2%;
}
.ads_content img {
height:100px;
width:480px;
margin : 4px 0;
}
.ads_buttons {
padding-top: 1px;
}
.left{float:left}
p{float:left; width:100%; padding-left:10px; line-height:18px;}
ul li{float:left; width:95%; padding:5px 0 5px 30px; background:url(images/arrow_small.gif) no-repeat 15px 9px; list-style:none}
ul li a{color:#666; text-decoration:none;}
ul li a:hover{color:#09f; text-decoration:underline}

Kode HTML Draggable Popup Window

Bagi pengguna Blogger, kode HTML ini bisa saja ditempatkan pada Template atau di Gadget HTML/JavaScript, namun harus diperhatikan modifikasi kode penting dibawah ini:
Cari tag <body> lalu tambahkan kode seperti dibawah ini:
<body onmousemove="dragWin(event, 'popupWin')">
Lalu tambahkan kode dibawah ini dibawah kode diatas atau didalam Gadget HTML/JavaScript:
<div class="ads_popup_window" id="popupWin">
<div class="popup_heading">
<div class="drag_area" onmousedown="mouse_down(event, 'popupWin')" onmouseup="mouse_up(event,'popupWin')">Klik &#38; Drag</div>
<div class="ads_buttons"><img src="images/home.png" class="ads_close" alt="" />&nbsp;<img src="images/up.png" alt="" id="minWin" /><img src="images/down.png" style="display:none" alt="" id="maxWin" /></div>
</div>
<div class="ads_content">

<!-- Ganti dengan kode Iklan atau informasi disini -->

</div>
<a style="text-decoration: none !important; color: #00f; text-align:right; display: block; font-size: 10px;" href="http://modification-blog.blogspot.com/" target="_blank" title="Ads Popup">Widget by <span style="color: #333;">Blogger</span> <span style="color: #f00;">TuneUp</span></a>
</div>

Kode JavaScript Draggable Popup Window

Tempatkan kode JavaScript dibawah ini diantara tag <head></head> :
<script type='text/javascript'>//<![CDATA[
var dragElement = false;
var xDif = 0;
var yDif = 0;

function mouse_down(event, elementName) {
var leftDim = document.getElementById(elementName).offsetLeft;
var topDim = document.getElementById(elementName).offsetTop;
dragElement = true;
xDif = event.clientX - leftDim;
yDif = event.clientY - topDim;
}

function dragWin(event, elementName) {
if (dragElement == true) {
document.getElementById(elementName).style.left = event.clientX - xDif + 'px';
document.getElementById(elementName).style.top = event.clientY - yDif + 'px';
}
}

function mouse_up(event, elementName) {
dragElement = false;
document.getElementById(elementName).style.left = event.clientX - xDif + 'px';
document.getElementById(elementName).style.top = event.clientY - yDif + 'px';

}

$(document).ready(function() {
$(".ads_close").click(function () {
$("#popupWin").hide(200);
});
$("#showWin").click(function () {
$("#popupWin").fadeIn('fast');
});
$("#minWin").click(function () {
$(".ads_content").slideUp("slow");
$(this).hide();
$("#maxWin").show();
});
$("#maxWin").click(function () {
$(".ads_content").slideDown("fast");
$(this).hide();
$("#minWin").show();
});
});
//]]></script>
Keterangan:
  • Jangan lupa untuk menambahkan framework jQuery agar efek Draggable Popup Window bisa berjalan dengan baik.
  • Mohon ma'af tips trik kali ini tidak spesifik dan jelas untuk para pengguna Blogger karena memang script yang dibuat bisa diterapkan untuk berbagai platform website.
Selamat mencoba dan semoga berhasil. Happy Blogging :)