Senin, 29 Juli 2013

Membuat Navigasi Menu Ala Google Plus

Apa hendak di kata mau tak gelem tema kali ini akan berbicara tentang tema menu lagi. Sebelumnya gue sudah berbagi tutorial membuat lists toc menu! Sekarang berbagi cara membuat menu ala google plus punya :-B Bagi kalian yang sering bermain jejaring web , pasti tidak akan asing dengan keberadaan menu navigasi sebelah kiri, yg akan muncul setiap kali kita sorot!Tidak mirip 100% dengan apa yg tampak pada screenshot :"> Gaya, teknik and hasil jadi bisa dikatakan serupa ;)) Main menu diposisikan diam di kanan pojok dengan tinggi height: 4em; Perlu digarisbawahi, menu ini menggunakan trick CSS content
  • www.w3schools.com/cssref/pr_gen_content.asp
  • developer.mozilla.org/en-US/docs/Web/CSS/content
  • www.w3.org/TR/CSS21/generate.html#content
  • dev.opera.com/articles/view/css-generated-content-techniques/
#main-navigation {
top: 0px;
left: 0px;
height: 4em;
position: fixed;
max-width: 130px;
overflow: hidden;
background-color: #4b67a1;
-webkit-transition: all 0.2s ease-out;
-ms-transition: all 0.2s ease-out;
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
#main-navigation:hover {
height: 100%;
max-width: 200px;
-webkit-box-shadow: 5px 0 10px #999;
box-shadow: 5px 0 10px #999;
}
#main-navigation ul {
padding: 0px;
list-style: none;
}
#main-navigation ul li {
white-space: nowrap;
}
#main-navigation ul li a {
color: #ddd;
width: 100%;
height: 50px;
line-height: 50px;
padding-right: 10px;
display: inline-block;
text-decoration: none;
font: 25px "Times New Roman", Times, serif;
}
#main-navigation ul li a:before {
color: #eee;
width: 55px;
font-size: 30px;
text-align: center;
display: inline-block;
-webkit-transition: all 0.2s ease-out;
-ms-transition: all 0.2s ease-out;
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
#main-navigation ul li a:hover {
color: #fff;
background-color: #3b5998;
}
#main-navigation ul li a:hover:before {
color: #f03d25;
}
.entypo-home:before {
content: "\2630";
}
.entypo-1:before {
content: "\2620";
}
.entypo-2:before {
content: "\2117";
}
.entypo-3:before {
content: "\2603";
}
.entypo-4:before {
content: "\263c";
}
.entypo-5:before {
content: "\270c";
}
.entypo-6:before {
content: "\272f";
}
.entypo-mail:before {
content: "\2709";
}
Planning HTML
<div id='main-navigation'>
<ul>
<li><a class='entypo-home' href='#'>Home</a></li>
<li><a class='entypo-1' href='#'>Title 1</a></li>
<li><a class='entypo-2' href='#'>Title 2</a></li>
<li><a class='entypo-3' href='#'>Title 3</a></li>
<li><a class='entypo-4' href='#'>Title 4</a></li>
<li><a class='entypo-5' href='#'>Title 5</a></li>
<li><a class='entypo-6' href='#'>Title 6</a></li>
<li><a class='entypo-mail' href='#'>Title 7</a></li>
</ul>
</div>
Source coded by: codepen.io/joshumax/full/asIfy
Semoga bermanfaat :)
Bonus:
cssdeck.com/labs/full/skyrim-inspired-drop-down-menu - cssdeck.com/labs/full/dropdown-menu - cdpn.io/HdJtv
Happy coding \m/

Sabtu, 27 Juli 2013

Ngabuburit Main Game Menanti Berbuka Puasa

Bermain game adalah merupakan salah satu cara melawan rasa kantuk di bulan ramadhan ini. Bermain game yang simpel dan ringan tidak memeras energi otak kita! Maksimalkan energi akal kita tidak lain untuk mentadaburi Al-Qur'an, As-Sunnah dan Ilmu tentang Islam :) AA Koben mau berbagi beberapa game ringan buat menemani menanti waktu berbuka ;)) Siapa yang tidak kenal dengan game kuno namun tetap melegenda...TETRIS. Berikut game tetris pilihan gue:
  • alias.io/tetris
  • www.twitchtetris.com/scoreScreen.html
  • www.bereal.ru/demo/ajax/tetris
  • js-tetris.levacic.net
  • www.benjoffe.com/code/games/torus
Setelah boring bermain membolak-balikan bidang kotak, waktunya mencoba permainan lompatan cssdeck.com/labs/full/html5-doodle-jump Ternyata bermain lompat-lompat ke atas terus menerus takut juga, apalagi kalau bukan takut jatuh :P Terpaksa deh bermain mainan terbang-terbangan cssdeck.com/labs/full/flash-helicopter-or-line-birds-like-game-in-html5 Naik-naik terus ke atas menjulung ketinggian atut terjatuh, 'aen telbang-telbangan atut nyuksruk nutug! Ternyata memang game yang cocok di bulan puasa ini adalah LARI developer.cdn.mozilla.net/media/uploads/demos/p/a/paulrouget/47e916de488e745f95aee0bc32d5fd31/runfield_1327576901_demo_package/index.html!!! =)) =)) =))
BONUS sources
alexwolfe.github.io/Buttons - git.aaronlumsden.com/tabulous.js - kushagragour.in/lab/hint - prezjordan.github.io/dynamo.js - github.com/orizens/echoes - jsdo.it/ksksoft/zPcT/fullscreen - cssdeck.com/labs/full/posting-animation - cssdeck.com/labs/full/5p3sqfwi - cdpn.io/vnyic - jsrun.it/xzaqwed/pCqN
Happy ngabuburit :)

Rabu, 24 Juli 2013

Make Lists TOC Menu

Di sela-sela tadabur ilmu bazzar pahala, gue sempatkan mosting. Rada lawas tema yang akan dibawakan kali ini. Kalau kita mau berbuka puasa pasti kenal dengan menu! Disinilah perbedaan menu berbuka puasa dengan menu navigasi. Yang satu bisa kalian makan, dan yg satu lagi hanya bisa dinikmati sebatas memakai/memasang :D Menu yg akan Koben sharing mirip-mirip dengan artikel sebelumnya yaitu tentang make menu pinggir or gigir use css. Banyak juga ternyata artikel tutorial ttg MENU di blog ini ;) AA kasih judul postingan menunya yaitu Make Lists TOC Menu.
Original source: ckknight.github.io/gorillascript

Adapun bumbu-bumbu untuk membuat menu list toc tidak lain CSS & HTML.

#toc {
margin: 0;
padding: 0;
width: 19em;
right: -18.8em;
top: 0;
height: 100%;
position: fixed;
overflow-y: hidden;
background-color: #2b2b2b;
transition: right 0.4s ease-in-out;
}
#toc:hover {
right: 0;
overflow-x: hidden;
overflow-y: scroll;
}
#toc ul {
margin: 0;
padding: 0;
border-left: 3px solid #37abc8;
}
#toc li { display: block; }
#toc li a {
display: block;
color: #d4d4d4;
padding: 0.6em 1em;
border-bottom: 1px solid #4a4a4a;
transition-property: border-bottom,background-color;
transition-duration: 0.4s;
transition-delay: 0.1s;
}
#toc li a:hover {
background-color: #4a4a4a;
border-bottom: 1px solid #37abc8;
}
#toc-label {
display: inline-block;
background: #37abc8;
position: fixed;
right: 0;
top: 3.2em;
opacity: 0.67;
z-index: 100;
font-size: 14px;
font-family: Helvetica, arial, freesans, clean, sans-serif;
}
#toc-label a {
color: white;
display: block;
width: 5.1em;
padding: 0.3em 0 0.3em 1em;
}
#toc-label:hover {
opacity: 1;
}
Untuk membuka list's menu yg tersembunyi, cukup hanya dengan mengarahkan cursor ke sebelah kanan monitor kalian!

<div id="toc">
<h3 id="toc-label"><a href="#">Table of Contents</a></h3>
<ul>
<li><a href="">Your Title 1</a></li>
<li><a href="">Your Title 2</a></li>
<li><a href="">Your Title 3</a></li>
<li><a href="">Your Title 4</a></li>
<li><a href="">Your Title 5</a></li>
<li><a href="">Your Title 6</a></li>
<li><a href="">Your Title 7</a></li>
<li><a href="">Your Title 8</a></li>
<li><a href="">Your Title 9</a></li>
<li><a href="">Your Title 10</a></li>
<li><a href="">Your Title 11</a></li>
<li><a href="">Your Title 12</a></li>
<li><a href="">Your Title 13</a></li>
<li><a href="">Your Title 14</a></li>
<li><a href="">Your Title 15</a></li>
<li><a href="">Your Title 16</a></li>
<li><a href="">Your Title 17</a></li>
<li><a href="">Your Title 18</a></li>
<li><a href="">Your Title 19</a></li>
<li><a href="">Your Title 20</a></li>
<li><a href="">Your Title 21</a></li>
<li><a href="">Your Title 22</a></li>
<li><a href="">Your Title 23</a></li>
<li><a href="">Your Title 24</a></li>
<li><a href="">Your Title 25</a></li>
<li><a href="">Your Title 26</a></li>
<li><a href="">Your Title 27</a></li>
<li><a href="">Your Title 28</a></li>
<li><a href="">Your Title 29</a></li>
<li><a href="">Your Title 30</a></li>
<li><a href="">Your Title 31</a></li>
<li><a href="">Your Title 32</a></li>
<li><a href="">Your Title 33</a></li>
<li><a href="">Your Title 34</a></li>
<li><a href="">Your Title 35</a></li>
<li><a href="">Your Title 36</a></li>
<li><a href="">Your Title 37</a></li>
<li><a href="">Your Title 38</a></li>
<li><a href="">Your Title 39</a></li>
<li><a href="">Your Title 40</a></li>
</ul>
</div>
Bonus: adnantopal.github.io/slimmenu - cdpn.io/klnjw - www.outyear.co.uk/smint
Semoga bermanfaat :)

Senin, 22 Juli 2013

It's All About CSS Animate, Great Sources

Berbicara mengenai CSS3 animations sudah pasti terbayangkan hal-hal yang menakjubkan. Apa saja contohnya mungkin sudah kita ketahui bersama :D Pokoknya kode CSS berbau efek animasi seperti, seekers, flippers, Fading entrances, Bling, Perspective dll. Berikut contoh sederhana efek animasi melar

Hover over me

Karena di buat hanya menggunakan CSS, tidak lain aturan pakai CSS3 @keyframes sebagai penggerak sangat berperan sekali! Bingung juga mau merangkai kata-kata opening, beberapa contoh expert animation fantastic effect
tympanus.net/Development/ModalWindowEffectstympanus.net/Development/PageTransitions
tympanus.net/Development/PFold/index2.htmllab.hakim.se/ladda
lab.hakim.se/kontextlab.hakim.se/avgrund
lab.hakim.se/menyademilter.com/lab/liffect
Terlihat jelas ragam efek, gaya tampilan serta bumbu-bumbu high class memanjakan para penikmat kuliner copas kode :)) Mau apapun kreasi efek yg dihasilkan, tetap saja minimal kita mesti melihat acuan sudah ada apa saja di CSS animate!!!
  1. Animate.css
  2. minimamente
  3. Animatable
  4. Effeckt.css
  5. Label.css
  6. bradshawenterprises
  7. all animation CSS3
  8. CSS3 Animation Cheat Sheet
Sebenarnya cuma mau berbagi link itu doang, mau merangkai kata-kata postingan, yah terganggu ama kondisi perut yg harus dikasih makan bacaan Al-Qur'an. Semoga bermanfaat :)
BONUS
cdpn.io/mibqJ - cdpn.io/ojnKb - cdpn.io/eknLg - cssdeck.com/labs/simplylistful - codepen.io/daless14/pen/ELFgj - cssdeck.com/labs/full/sliding-image - cssdeck.com/labs/shuffled-paper - cssdeck.com/labs/full/ribbonmenu
Happy blogging \m/

Jumat, 19 Juli 2013

It's All About Layouts Data Tags Blogger

Mungkin agak lawas juga postingan sekarang! Walaupun bertebaran banyak di luaran sana dan sudah basi barangkali, berbicara tentang Layouts Data Tags blogspot tidak mengenal kata basi/lawas ¡ Sobat mungkin sudah pada tahu apa yg dimaksud dengan layouts data-tags or conditional tags blogger? Kalau mendengar kata tag memang sedikit membikin kepala cenut² #-o Mau si layouts/conditional tags ataupun tag-tag lainnya dan tags tersebut memang berada di dalam template blogger, maka dapat dipastikan itulah script & code pembangun template blogspot bisa tampak indah di web browser :)

Sebagai seorang user blogger platform blogspot, aku :"> akan mencoba mengumpulkan artikel (seketemunya blog walking) yg memang bercerita, menerangkan mengenai Blogger Layout Data Tags. Pertama-tama sudah pasti source links yg datang dari blog empunya yah ;)) :d

Selama mengkoleksi artikel dengan tema serupa, pasti terdapat notes (catatan kecil) in progress, dalam konsep atau yg lainnya. Membutuhkan kejelian dalam mengimplementasikan apa-apa yg ada di dalam kepala ke dalam sebuah postingan :-B Sources link berikutnya datang dari master Taufik Nurrohman

  • www.dte.web.id/2011/08/pemahaman-tag-kondisional-tingkat.html
  • www.dte.web.id/2011/08/tag-kondisional-tingkat-lanjut.html
  • www.dte.web.id/2012/11/tabel-tag-data-blog-terluar.html
  • www.dte.web.id/2012/11/xhtml-blogger-seksi-posting.html
  • www.dte.web.id/2012/10/tag-kondisional-halaman-label-dan.html
  • www.dte.web.id/2013/01/xhtml-blogger-navigasi-halamanblog-pager.html
  • www.dte.web.id/2012/11/xhtml-blogger-loop-label-posting.html
  • www.dte.web.id/2012/11/xhtml-blogger-share-buttons.html
  • www.dte.web.id/2012/11/xhtml-blogger-item-kontrol.html
  • www.dte.web.id/2012/11/xhtml-blogger-ikon-penghapusan-komentar.html
  • www.dte.web.id/2012/11/xhtml-blogger-elemen-halaman-seksi-dan.html
  • www.dte.web.id/2012/11/xhtml-blogger-seksi-komentar.html
  • www.dte.web.id/2012/11/xhtml-blogger-utilitas-sistem-komentar.html
  • www.dte.web.id/2012/11/xhtml-blogger-formulir-komentar.html
Seorang master saja keteteran dalam mengatur postingan ttg layouts tags data ini! Apalagi akuh AA Koben bloglang anu ganteng kalem tea ;;) Lumayan banyak memang kode-kode layout-data-tags blogger. Ada bagusnya jika diantara sobat yg ingin memosting tema serupa ke depannya, buatlah dalam 1 halaman/modul tanpa mesti bolak-balik 8-> Biar praktis dan efisien ;) Seperti contoh berikut blogger2ools.mystady.com

Blogger2ools adalah 1 blog yg menampilkan dan memberi informasi layout data tags. Karya dari my stady mungkin format yg sedikit lumayan enak :) Mari kita tunggu saja master Taufik membuat hal yg serupa 8-> Koben sudah buatkan apps blogger2ools bagi kalian, lumayan buat tambah2 ilmu :d

Semoga bermanfaat :)
Happy blogging \m/

Rabu, 17 Juli 2013

One More Special Hover Effect

Kembali lagi menemukan satu yang spesial seputar trik hover effect! Jika berbicara mengenai hover serasa ada terus orang yg berkreasinya ;)) Dari awal menemukan kode-kode baru lalu dikembangkan kemudian dirangkai dengan ini-itu, maka akan terus lahirlah kreasi fullstylish b-)
Artikel asli dengan judul one more fancy hover effect merupakan 2 buah jenis efek hover. Syntax link dengan memakai atribut data-title="" menghasilkan efek serelek hover ke kanan & ke bawah yg begitu lembut seperti kuah kolak pisang :p Coba arahkan kursor kalian
.button {
display: block;
height: 3.5em;
width: 11em;
margin: .5em auto;
overflow: hidden;
position: relative;
font: 1.3em Tahoma, Helvetica, Arial, Sans-Serif;
}
.button > span {
top: 0;
left: 0;
width: 0%;
height: 100%;
display: block;
overflow: hidden;
position: absolute;
-webkit-transition: 1s ease-in-out;
-o-transition: 1s ease-in-out;
transition: 1s ease-in-out;
text-shadow: 1px 1px 3px #555, -1px -1px 3px #fff, 1px 1px #555, -1px -1px #fff;
}
.button:after, .button > span > span {
display: block;
padding: 1em 0;
text-align: center;
border-radius: 0.6em;
}
.button:after {
content: attr(data-title);
width: 100%;
background: #444;
color: #bbb;
}
.button > span > span {
width: 11em;
background: #999;
color: #666;
}
.button:hover > span {
width: 100%;
}
.button1 > span {
height: 0%;
width: 100%;
}
.button1:hover > span {
height: 100%;
}
.button1:after {
background: #0086b3;
color: #f1f1f1;
}
.button1 > span > span {
background: #d0c3b4;
color: #2f3c4b;
}
Markup HTML<a class="button" data-title="BLAH-BLEH-BLOH" href="#">
<span>
<span>BLAH-BLEH-BLOH</span>
</span>
</a>

<a class="button button1" data-title="BLAH-BLEH-BLOH" href="#">
<span>
<span>BLAH-BLEH-BLOH</span>
</span>
</a>
Sumber: pepsized.com/one-more-fancy-hover-effect
Mungkin banyak trik sejenis, tetapi seperti yg gue bilang di awal, bahwasannya fancy hover menggunakan atribut data-title="" Coba datangi halaman berikut guna melihat infromasi baru apa sih custom data attributes itu. HOW ABOUT THIS...tympanus.net/Development/CreativeButtons @-)

Senin, 15 Juli 2013

Make Open / Close Theater Curtains Effect use CSS

Dulu sempat memosting artikel three amazing hover effect for image. Pada point pertama terdapat cara bagaimana membuat Curtain Effect dimana ada 2 buah gambar yang menjadi latar curtain (gorden/tirai) Hanya melakukan sedikit update pada point curtains effect, sekarang full 100% menggunakan atribut CSS3 :) Nama ditambahkan theater biar keren :p Untuk membuka efek tirai tetap mengarahkan (hover) cursor, maka akan terbelalaklah apa yg tersembunyi di dalam tirai! Tengok demo berikut
post-img
Source: cssdeck.com/labs/css3-theater-curtains
Demikian info singkat, semoga bermanfaat :)
Bonus:
cdpn.io/ogAlC, cdpn.io/GyCet, cssdeck.com/labs/full/data-attributes-love-pseudo-elements, csscheckbox.com, vivastart.com/html5-animations, cdpn.io/wIGpj, cdpn.io/Fdnlz, jsdo.it/cx20/qs2p, jsdo.it/mattari_panda/25a7, cloudfour.github.io/hideShowPassword

Rabu, 10 Juli 2013

Selection Good Resources in July

Dengan niat lurus dan hati bersih, mari kita laksanakan ibadah di bulan penuh berkah, ampunan serta seabrek obral pahala bagi segenap umat muslim di seluruh penjuru dunia O:-) Luangkan waktu, konsentrasi, dalam 1 bulan ke depan untuk masalah ibadah kepada Alloh SWT. Beben Koben mengucapkan selamat menunaikan ibadah shaum Ramadhan 1434 H. Maafkan segala kekhilafan & kesalahan, yuk bersihkan hati luruskan niat menyambut datangnya tamu agung Syahr Ramadhan. Karena masih dalam suasana puasa, maka acara mosting kali ini bagi-bagi link resources pilihan :)

Acara langsung di gebrak dengan 4 buah link dari web developer mozilla!

  1. developer.mozilla.org/en-US/demos/detail/running-image-triangulation-and-extrusion
  2. developer.mozilla.org/en-US/demos/detail/minipaint
  3. developer.mozilla.org/en-US/demos/detail/tutorializr
  4. developer.mozilla.org/en-US/demos/detail/radioazione
Download ke semua itu, lumayan aplikasi .html sederhana namun gue pikir cukup berguna ;)
bjankord.github.io/Style-Guide-Boilerplate - www.createcss3.com - codepen.io/shubhra/full/kcvBC - codepen.io/mel/full/hByLf - codepen.io/sethabbott/full/sDvqy - cssdeck.com/labs/full/micro-slider - codepen.io/joni/full/oCibr - codepen.io/joni/full/otjbc - cssdeck.com/labs/full/8aqbbyiv - codepen.io/noeldelgado/full/pGwFx - codepen.io/ksksoft/full/tcKGD - codepen.io/dope/full/ogAlC - cssdeck.com/labs/full/brandbuttons - jsdo.it/Arbaoui.Mehdi/retro-comments-hover-icons/fullscreen - dan-silver.github.io/ElementTransitions.js
Demikian link pilihan di bulan juli, selamat menikmati :)

Senin, 08 Juli 2013

How to Easily Fix the Duplicate Meta Tag Description in Blogger

Sebetulnya lagi males mosting di samping tidak ada ide! Lagi seru browsing ke sana-sono melihat-lihat web/blog orang :d Koben ingin berbagi informasi penting seputar meta tag description blogger! Dahulu gue sudah sharing juga 2 buah postingan keren mengenai meta-tag meta tag dinamis buat blogspot & meta tag customizing for seo blogspot, takut kurang silahkan baca sites.google.com/site/metatagforblogger. Masih kurang juga silahkan pelototin versi master O-OM tentang mengatasi duplikasi meta tag deskripsi pada halaman post Mau apapun versi meta-tag-description yg kalian pakai, harap di simak terlebih dahulu postingan AA sekarang. This is will be interesting ;)

Gue mau tanya ada berapa jenis penulisan meta tag deskripsi untuk blogger? Beberapa contoh seperti ini

<meta expr:content='data:blog.pageTitle + &quot; , BLAH-BLEH-BLOH&quot;' name='Description'/>

<meta expr:content='data:blog.pageName + &quot;, &quot; + data:blog.metaDescription + &quot;, &quot;' name='Description'/>

<meta expr:content='xxx xxx xxx xxx xxx xxx' name='Description'/>
Ada yang lainnya :-?
Mau bagaimana and jenis apapun penulisan meta-tag deskripsi, DELETE saja alias hapuskan semua itu!!! Dengan catatan template kalian tidak menghapus kode tag conditional berikut<b:include data='blog' name='all-head-content'/>Fungsi tagging <b:include data='blog' name='all-head-content'/>

Mungkin para ahli kode tidak tahu bahwa salah satu dari banyak fungsi <b:include data='blog' name='all-head-content'/> adalah untuk mengekstrak dan menampilkan ke dalam browser deskripsi blog yang ada di pengaturan blog. Deskripsi yg ditampilkan meliputi pada home page dan other page kecuali post page.
In Home Page
Pada halaman dashboard pergi ke Settings ► Search preferences
meta-tag-description-bloggerIn Post/Item Page
Deskripsi posting yang dalam deskripsi mencari pos ketika pengunjung berada di halaman pos/item kecuali di halaman rumah dan halaman lainnya.post-settings-bloggerSOLUSI
Solusi untuk sebab terjadinya duplikasi meta tag deskripsi atau error meta-tag description sangat sederhana. Hapus code brkt<meta expr:content='data:blog.metaDescription' name='Description'/>
or
<meta expr:content='xxx xxx xxx xxx xxx xxx' name='Description'/>
Cukup dengan pemakaian<b:include data='blog' name='all-head-content'/>Selanjutnya jangan lupa untuk memberikan pencarian deskripsi blog dan deskripsi setiap halaman post kalian. Hal tersebut sangat diperlukan dan kebanyakan dari semua itu akan membuat search engine friendly. Terbaru juga dari master Agus Ramadhani tentang rahasia optimasi meta tag di new blogger Untuk pembuktian dari tutorial ini semua, coba saja lihat source home and post page blog aku! Jika betul sudah pasti memiliki deskripsi yg berbeda, padahal keduanya menggunakan kode yg sama!

Buat apa pakai yg rumit kalau ada yg simpel. Lagian google tidak ngaruh dengan adanya meta tag ini ke popularitas blog di mata search engine :p

Sumber: iLearnZone
Happy blogging \m/

Sabtu, 06 Juli 2013

Google Reader is Discontinued and How to Solve it

Setelah sekian lama menemani para fansnya, Google Reader kini resmi dihentikan (discontinued) Efek yang paling terasa mungkin kita tidak dapat lagi membaca ria artikel langganan web/blog pilihan di halaman google reader! Singkat cerita link yg tertuju ke halaman GOOGLE READER tidak dapat di akses lagi :-s Layanan yg diluncurkan pada tanggal 7 Oktober 2005 menutup diri tepat pada tanggal 1 Juli 2013 kemarin. Adapun hal-hal yg sering dipertanyakan sbb:
  1. Apa yang terjadi pada data Google Reader kita?
  2. Semua data langganan Google Reader (misalnya daftar orang yang diikuti, item yang telah dibagi, catatan yang telah dibuat, dll) akan sistematis dihapus dari server Google. Sobat dapat mendownload salinan data Google Reader melalui Google Takeout sampai 12:00 PM 15 Juli 2013.
  3. Apakah akan ada cara untuk mengambil data langganan dari Google di masa depan?
  4. Tidak - semua data langganan akan secara permanen dihapus, dan tidak dapat dibatalkan. Google tidak akan dapat memulihkan data langganan Google Reader untuk setiap pengguna setelah tanggal 15 Juli 2013.
  5. Mengapa Google Reader dihentikan?
  6. Silakan lihat official blog untuk informasi lebih lanjut.
Setelah mengetahui kabar pemberhentian layanan google-reader, apakah tidak ada jalan alternatif untuk menanggulangi itu semua? Ooo tenang saja lagih, masih banyak tawaran layanan serupa di luaran yg lebih hebat dari google reader :))
Buka halaman berikut alternativeto.net/software/google-reader
Menurut survei yg gue dapat, ternyata layanan terfavorit jatuh ke feedly diantara persaingan ketat antara web feed reader services :p

Dengan layanan feedly kita dapat melakukan hal serupa dengan google reader bahkan lebih dahsyat...(Login terintegrasi langsung dengan account google kalian masing²) Hal yg dapat dilakukan tanpa registrasi meliputi membaca tag pilihan dari web pilihan dan add link RSS kemudian membacanya. 4 bentuk tampilan telah tersedia title only view, magazine view, cards view & full article. Kalau cuma judul saja yg terlihat, coba saja yg ini look feed atom rss. Dengan feedly kita juga dapat mengambil tombol berlangganan

Kalau mau mencoba search RSS, gue tawarin dari master Amit Agarwal ctrlq.org/rss Satu yg patut dicoba juga fulltextrssfeed.com Untuk urusan sosial feed, Koben kepincut dengan plugins.in1.com/socialist Sebagai bonusnya buat have fun melihat link RSS dengan gaya star wars 3d scrolling text!
Try here: fotcorn.github.io/StarRSS
Download here: github.com/fotcorn/StarRSS
Bonus lagi, trik dan tips buat efek CSS star wars opening crawl dengan kode yg simple & dikit codepen.io/yukulele/pen/KsCIi
Kelupaan contoh keren lagi look RSS Url Narengowda style

Good bye google reader :-h

Kamis, 04 Juli 2013

Google Picker to Explore & Connect Your Content

Seperti yang sudah kita ketahui bersama, blogger blogspot adalah layanan blog gratisan dari embah google. Gmail layanan free email, google maps, google plus dan banyak lagi ya pemiliknya si GOOGLE :p Dengan bertebarannya layanan google ini, sedikit lebih telah menambah perbendaharaan link kita. Salah satu contoh layanan google yg bisa mempermudah dalam berkerja adalah google drive Kehadiran google drive dimana merupakan pengganti dari google docs and google code, tempat berbagi, download & menyimpan file. Semua fasilitas tersebut dapat dinikmati jika seseorang mempunyai account google :d

Satu sandi. Untuk semua produk Google.

post-imageIngin menikmati yang terbaik dari Google? Cukup masuk, anda hanya membutuhkan satu nama pengguna dan sandi untuk membuka kunci berbagai fitur layanan yang digunakan setiap hari, seperti Gmail, Maps, Google+, Apps Google dan YouTube.
Sekarang AA Koben akan berbagi satu google services yg bisa mengefisienkan waktu sodara² dalam kegiatan melakukan explore dari beberapa produk kepunyaan si embah! The product name is google picker api Dengan google picker kita bisa berhubungan langsung dalam satu tempat ke ± 17 google services :) Silahkan buka, download dan save page as berikut...Google Picker Page
Apps .html google picker tersebut menggunakan settingan standar. Jika sobat kepengen lebih privasi, buka pada notepad gantikan script<script src="http://www.google.com/jsapi"></script>menjadi begini<script src="http://www.google.com/jsapi?key=YOUR-API-KEY"></script>Isikan YOUR-API-KEY dengan API-Key kalian masing² Untuk masalah variasi script agar dapat lebih maknyus, silahkan dipelajari sendiri di google picker api developer's guide Saya enggak paham :d Mengganti bahasa perhatikan script brktgoogle.load('picker', '1', {'language':'id'});Ganti id dengan kode bahasa masing² Demikian saja tips ringan dari AA, semoga bermanfaat :) Oooo...kalau kalian malas menyimpan apps .html google-picker, simpan saja link ini OnePick :))
Contoh pemasangan layanan google picker ke dalam blog embah google. Variasi action script yg gue pakai: Google documents, Google gambar, Penelusuran video dan Unggah Photo.
Happy google services \m/

Rabu, 03 Juli 2013

Add Meta Tags Twitter Cards for Blogger

Jejaring web twitter merupakan salah satu website yang sudah menjadi acuan dalam mempopulerkan sebuah blog. Mungkin agak terlambat Koben berbagi cara memasang meta tag twitter ke dalam template blogger. Proses dan cara mirip dengan pemasangan rich snippet microdata! Seperti kita ketahui bersama, blogger platform blogspot mempunyai tag conditional and code tersendiri. Oleh karena itu agar tampilan link post blog kita terbaca baik oleh site twitter, sebagai blogger yg baik harus memasang twitter cards markup tag ke dalam template blog. Perhatikan perbedaan tampilan link post kita di twitter pada screenshot berikut
BeforeAfter
twitter-cardtwitter-card
Sebelum melakukan snippet ada navigasi link bertuliskan Expand, yg jika kita klik akan keluar tombol retweet, reply & etc. Setelah dilakukan snippet meta tag twitter cards, link navigasi berubah menjadi View summary yg bila kita klik akan muncul headlines postingan sesuai berdasarkan description.

Untuk melakukan implement coded twitter cards ke blogger, silahkan sobat searching saja di google sudah bejibun resources yg ada :d Nih search on google Blog gue sendiri cocok dengan markup format seperti berikut

<meta name='twitter:card' content='summary'/>
<meta name='twitter:site' content='@AUTHOR_TWITTER'/>
<meta name='twitter:creator' content="@WEBSITE_TWITTER'/>

<b:if cond='data:blog.pageType == &quot;item&quot;'>
<meta name='twitter:url' expr:content='data:blog.url'/>
<meta name='twitter:title' expr:content='data:blog.pageName'/>
<b:else/>
<meta name='twitter:url' expr:content='data:blog.homepageUrl'/>
<meta name='twitter:title' expr:content='data:blog.title'/>
</b:if>

<meta name='twitter: description' expr:content='data:blog.metaDescription'/>

<b:if cond='data:blog.postImageThumbnailUrl'>
<meta expr:content='data:blog.postImageThumbnailUrl' name='twitter:image'/>
<b:else/>
<meta content='SCREENSHOT_IMAGE_URL' name='twitter:image'/>
</b:if>

Gantikan:
@AUTHOR_TWITTER dengan ID account twitter masing-masing.
SCREENSHOT_IMAGE_URL dengan link gambar screenshot/favicon blog kalian masing²

Kemudian save perubahan template. Setelah itu pergilah ke halaman card validator (buka menggunakan browser chrome, pada mozilla fitur preview tidak berjalan mulus) Bila pertama melakukan ini semua kalian akan dihadapkan pada pemilihan Card Catalog. Pilihlah dengan kesukaan yg mendalam :)) Di bawah tulisan Card Validator pilih opsi Validate & Apply.

Lakukan test link blog di kotak yg tersedia. Jika ada tampilan bulatan kuning/merah, dipastikan kode snippet yg dilakukan tadi belum singkron dengan web twitter. Oleh sebab itu resources kode berjibun, pilihlah yg cocok dengan karakter template blog masing²card twitterBeberapa link resource berguna
  • dev.twitter.com/docs/cards
  • dev.twitter.com/docs/cards/markup-reference
  • www.bloggerhow.com/2012/07/implement-twitter-cards-blogger-blogspot.html
  • www.ajibanda.com/2013/01/adding-twitter-card-meta-tags-to-your-blogspot-blogs.html
Good luck :)
Happy snippet \m/

Selasa, 02 Juli 2013

Make Calendar Archived Post List for Blogger

Pada waktu selasa, 8 juli 2008 master Lvchen blogger dari china telah melakukan update hack AJAX arsip calendar buat blogger! Dahulu tampilan arsip full berbentuk kalender dengan tanggal sebagai link postingan tujuan. Sekarang diperbaharui dengan penambahan tampilan berupa list judul postingan b-) Lihat bagian pojok bawah kiri blog ini. Murni memakai JavaScript and metode pemasukan ke dalam blog yaitu metode Add Gadget ► HTML/Javascript.
Langsung saja bro...
<div id="blogCalendar"></div>
<script src="http://lvchen-recentcomments.googlecode.com/svn/trunk/Calendar/1.0/calendar_pack.js" type="text/javascript"></script>
<script type="text/javascript">
Calendar.base='YourBlogName.blogspot.com';
Calendar.timeZone='+07'; //Time Zone Indonesia
Calendar.drawTable();
</script>
Gantikan YourBlogName dengan alamat blog sobat, ingat tanpa http:// Script bisa kalian hostingkan sendiri. Jika mau melihat pecahan script calender silahkanBlogger-AJAX-Archive-Calendar
Click to look scripts
function ArchiveCalendar() {
this.PrevMonth = PrevMonth;
this.NextMonth = NextMonth;
this.refreshTable = refreshTable;
this.drawTable = drawTable;
this.Calendar = Calendar;
this.fetchposts = fetchposts;
this.addLink = addLink;
this.monthTable = monthTable;
this.yearTable = yearTable;
this.toggleTOC = toggleTOC;
this.drawTOCTable = drawTOCTable;
this.gainControl = gainControl;
this.sortTable = sortTable;
this.alreadyrunflag = 0;
this.week_label = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
this.month_label_real = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
this.month_label = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12");
this.month_days = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
this.today = new Date();
this.cur_day = new Date();
this.startDay = 0;
this.base = 'lvchen.blogspot.com';
this.timeZone = '+08:00';
this.timeZoneCheck = false;
this.alignFooter = true;
this.todayMsg = 'Today';
this.showTOC = new Array('List', 'Calendar');
this.listMode = false;
this.loading = '<img src="http://3.bp.blogspot.com/-3BP3tHg7lFc/UEKDOx4BjZI/AAAAAAAAAZs/xzsbHzOi4Tk/s16/ajax-loader.jpg"></img>';
this.tableColor = 'white'
}
function Calendar(a) {
var b = a.getFullYear();
var c = Calendar.month_label[a.getMonth()] + '';
var d = Calendar.month_days[a.getMonth()];
var e = Calendar.today.getDate();
if (a.getMonth() == 1 && (((b % 4 == 0) && (b % 100 != 0)) || (b % 400 == 0))) {
d = 29;
Calendar.month_days[1] = '29'
} else Calendar.month_days[1] = '28';
Calendar.startDay = a.getDay();
var f = '';
f += '<table style="text-align:center;" align="center" cellspacing="0">';
f += '<tr>';
for (var g = 0; g < 7; g++) {
f += '<th>' + Calendar.week_label[g] + '</th>'
}
f += '</tr>';
var h = 0;
for (g = 0; g < Calendar.startDay; g++) {
if (h == 0) f += '<tr>';
f += '<td class="Lastday">&nbsp;</td>';
h++
}
for (g = 1; g <= d; g++) {
if (h == 0) f += '<tr>';
if (g == e && a.getMonth() == Calendar.today.getMonth() && b == Calendar.today.getFullYear()) f += '<td class="Today">' + g + '</td>';
else f += '<td class="Lastday">' + g + '</td>';
if (h == 6) {
f += '</tr>';
h = 0
} else h++
}
if (h > 0) {
for (var i = 0; i < (7 - h); i++) {
f += '<td class="Lastday">&nbsp;</td>'
}
f += '</tr>'
}
f += '</table>';
return f
}
function fetchposts(a, b, c) {
var d = document.getElementById('jsonPosts');
if (d != undefined) document.documentElement.firstChild.removeChild(d);
if (b == 11) {
var e = '01';
var f = a + 1
} else {
var e = Calendar.month_label[b + 1];
var f = a
}
var g = 'published-min=' + a + '-' + Calendar.month_label[b] + '-01T00%3A00%3A00' + Calendar.timeZone + '&published-max=' + f + '-' + e + '-01T00%3A00%3A00' + Calendar.timeZone + '&max-results=35&start-index=' + c;
var h = document.createElement('script');
if (!Calendar.listMode) var i = 'http://' + Calendar.base + '/feeds/posts/summary?alt=json-in-script&callback=Calendar.addLink&' + g;
else var i = 'http://' + Calendar.base + '/feeds/posts/summary?alt=json-in-script&callback=Calendar.drawTOCTable&' + g;
h.setAttribute('src', i);
h.setAttribute('id', 'jsonPosts');
h.setAttribute('type', 'text/javascript');
document.getElementsByTagName('HEAD')[0].appendChild(h)
}
function addLink(a) {
var b = document.getElementById('CalendarTable');
var c = a.feed.entry;
var d = '';
var e = Calendar.timeZone;
if (c != undefined) {
var f = b.getElementsByTagName('td');
for (var i = 0; i < c.length; i++) {
var g = c[i].published.$t.substr(0, 10);
var h = g.substr(8, 2);
var k = f[Calendar.startDay + (parseInt(h, 10) - 1)];
var l = c[i].title.$t;
var j = 0;
while (j < c[i].link.length && c[i].link[j].rel != 'alternate') j++;
var m = j;
if (h == d) {
var n = k.firstChild;
var o = n.getAttribute('href');
var p = o.match(/(max-results=)(\d+)/i);
if (p == null) {
if (Calendar.timeZoneCheck) {
var q = c[i].published.$t.substr(23, 6);
if (q != unescape(e)) {
e = encodeURIComponent(q);
e = e.replace(/\-/, '%2D')
}
}
var r = g.substr(5, 2);
if (h == Calendar.month_days[parseInt(r, 10) - 1]) {
var s = g.substr(0, 4) + '-' + (parseInt(r, 10) + 1) + '-01';
if (s.length < 10) s = s.substr(0, 5) + '0' + s.substr(5, 5)
} else {
var s = g.substr(0, 8) + (parseInt(h, 10) + 1);
if (s.length < 10) s = s.substr(0, 8) + '0' + s.substr(8, 1)
}
o = 'http://' + Calendar.base + '/search?updated-min=' + g + 'T00%3A00%3A00' + e + '&updated-max=' + s + 'T00%3A00%3A00' + e + '&max-results=2'
} else o = o.replace(/(max-results=)(\d+)/i, '$1' + (p[2] * 1 + 1));
n.setAttribute('href', o);
n.setAttribute('title', l + ', \n' + n.getAttribute('title'));
continue
}
d = h;
k.innerHTML = '<a href=' + c[i].link[m].href + ' title="' + l.replace(/\"/g, '&#34;') + '">' + k.innerHTML + '</a>';
k.className = 'Linkday'
}
}
if (a.feed.openSearch$totalResults.$t * 1 > 35) {
if (!Calendar.listMode) fetchposts(g.substr(0, 4) * 1, r * 1, a.feed.openSearch$startIndex.$t * 1 + 35, 'cal');
else fetchposts(g.substr(0, 4) * 1, r * 1, a.feed.openSearch$startIndex.$t * 1 + 35, 'list')
} else Calendar.gainControl()
}
function drawTable() {
var a = document.createElement('div');
a.setAttribute('id', 'CalendarCaption');
var b = '<div id="monthTable" style="z-index:999;background-color:' + Calendar.tableColor + ';">';
for (var i = 0; i < 12; i++) {
b += '<a href="javascript:Calendar.monthTable(' + i + ');">' + Calendar.month_label_real[i] + '</a><br>'
}
b += '</div>';
var c = '<div id="yearSelect"><form name="form2year" onsumbit="javascript:return false;" action="">';
c += '<input style="width:4em;z-index:999;" class="yearInput" type="text" value="' + Calendar.cur_day.getFullYear() + '" name="enteryear" onkeypress="if(event.keyCode==13||event.which == 13) {Calendar.yearTable(this.value); return false;}" /></form></div>';
var d = '<table align="center"></tbody><tr><td><a href="javascript:void(0);">&lt;&lt;&nbsp;&nbsp;</a></td>';
d += '<td style="text-align:center;width:70%"><span id="CalendarMonth"><span id="monthTable_parent"></span>&nbsp;&nbsp;&nbsp;';
d += '<span id="yearSelect_parent"></span></span></td>';
d += '<td><a href="javascript:void(0);">&nbsp;&nbsp;&gt;&gt;</a></td></tr></tbody></table>';
d += b + c;
a.innerHTML = d;
var e = document.createElement('div');
e.setAttribute('id', 'CalendarTable');
var f = document.createElement('div');
f.setAttribute('id', 'CalendarFooter');
f.style.textAlign = 'left';
var g = '<a href="javascript:Calendar.cur_day.setTime(Calendar.today);Calendar.refreshTable();" id ="Today" class="Today">' + Calendar.todayMsg + '</a>&nbsp;&nbsp;';
g += '<span id="todayShow">' + Calendar.month_label[Calendar.cur_day.getMonth()] + '/';
if (Calendar.cur_day.getDate().toString().length < 2) g += '0' + Calendar.cur_day.getDate();
else g += Calendar.cur_day.getDate();
g += '/' + Calendar.cur_day.getFullYear() + '</span>';
g += '<span id="showTOC">&nbsp;&nbsp;<a href ="javascript:Calendar.toggleTOC();">' + Calendar.showTOC[0] + '</a>&nbsp;&nbsp;</span>';
g += '<span id="CalLoading">' + Calendar.loading + '</span>';
f.innerHTML = g;
var h = document.getElementById('blogCalendar');
h.style.textAlign = 'center';
h.appendChild(a);
at_attach('monthTable_parent', 'monthTable', 'click', 'y', 'pointer');
at_attach('yearSelect_parent', 'yearSelect', 'click', 'y', 'pointer');
h.appendChild(e);
if (Calendar.alignFooter) {
var j = a.getElementsByTagName('table')[0].offsetLeft - a.offsetLeft;
f.style.paddingLeft = j + 'px'
}
h.appendChild(f);
if (Calendar.timeZone.length < 4 && Calendar.timeZone != 'Z') Calendar.timeZone = Calendar.timeZone + ':00';
Calendar.timeZone = encodeURIComponent(Calendar.timeZone);
Calendar.timeZone = Calendar.timeZone.replace(/\-/, '%2D');
Calendar.refreshTable()
}
function refreshTable() {
var a = Calendar.cur_day.getMonth();
var b = Calendar.cur_day.getFullYear();
document.getElementById('monthTable_parent').innerHTML = Calendar.month_label_real[a];
document.getElementById('yearSelect_parent').innerHTML = b;
Calendar.cur_day.setDate(1);
if (!Calendar.listMode) document.getElementById('CalendarTable').innerHTML = Calendar.Calendar(Calendar.cur_day);
if (Calendar.today >= Calendar.cur_day) {
var c = document.getElementById('CalendarCaption').getElementsByTagName('a');
c[0].setAttribute('href', 'javascript:void(0)');
c[1].setAttribute('href', 'javascript:void(0)');
var d = document.getElementById('CalendarFooter').getElementsByTagName('*');
for (var i = 0; i < d.length; i++) {
if (d[i].getAttribute('id') == 'CalLoading') d[i].style.display = 'inline';
else if (d[i].getAttribute('id') != null) d[i].style.display = 'none'
}
if (/Safari/i.test(navigator.userAgent)) {
var e = setInterval(function () {
if (/loaded|complete/.test(document.readyState)) {
clearInterval(e);
Calendar.alreadyrunflag = 1;
Calendar.fetchposts(b, a, 1)
}
}, 10)
} else Calendar.fetchposts(b, a, 1)
} else {
if (document.getElementById('TOCTable') != null) document.getElementById('TOCTable').innerHTML = ''
}
}
function toggleTOC() {
if (!Calendar.listMode) {
Calendar.listMode = true;
document.getElementById('showTOC').innerHTML = '&nbsp;&nbsp;<a href ="javascript:Calendar.toggleTOC();">' + Calendar.showTOC[1] + '</a>&nbsp;&nbsp;';
var a = document.getElementById('CalendarTable');
var b = a.getElementsByTagName('table')[0];
var c = b.offsetHeight;
var d = '<div id="TOCScroll"><table id="TOCTable" style="width:' + b.offsetWidth + 'px;"></table></div>';
a.innerHTML = d;
var e = document.getElementById('TOCScroll');
e.style.overflow = 'auto';
e.style.height = c;
Calendar.refreshTable()
} else {
Calendar.listMode = false;
document.getElementById('showTOC').innerHTML = '&nbsp;&nbsp;<a href ="javascript:Calendar.toggleTOC();">' + Calendar.showTOC[0] + '</a>&nbsp;&nbsp;';
Calendar.refreshTable()
}
}
function drawTOCTable(a) {
var b = document.getElementById('TOCScroll');
var c = '<table id="TOCTable" style="text-align:left;width:' + document.getElementById('TOCTable').offsetWidth + 'px;" align="center" cellspacing="0">';
var d = a.feed.entry;
if (d != undefined) {
c += '<thead><tr><th onclick="Calendar.sortTable(&#39;TOCTable&#39;,0)" style="cursor: pointer;text-align:center;">Title</th><th onclick="Calendar.sortTable(&#39;TOCTable&#39;,1,&#39;date&#39; )" style="cursor: pointer;text-align:center;">Date</th></tr></thead>';
for (var i = 0; i < d.length; i++) {
var e = d[i].published.$t.substr(0, 10);
var f = e.substr(8, 2);
var g = d[i].title.$t;
var h = e.substr(5, 2);
var j = 0;
while (j < d[i].link.length && d[i].link[j].rel != 'alternate') j++;
var k = j;
c += '<tr><td><a href="' + d[i].link[k].href + '">' + g + '</a></td><td>' + h + '/' + f + '</td></tr>'
}
c += '</table>';
b.innerHTML = c;
sortTable('TOCTable', 1, 'date')
} else {
c += '</table>';
b.innerHTML = c
}
Calendar.gainControl()
}
function PrevMonth() {
theMonth = Calendar.cur_day.getMonth() - 1;
year = Calendar.cur_day.getFullYear();
if (theMonth < 0) {
theMonth = 11;
year--
}
Calendar.cur_day.setFullYear(year, theMonth);
Calendar.refreshTable()
}
function NextMonth() {
theMonth = Calendar.cur_day.getMonth() + 1;
year = Calendar.cur_day.getFullYear();
if (theMonth > 11) {
theMonth = 0;
year++
}
Calendar.cur_day.setFullYear(year, theMonth);
Calendar.refreshTable()
}
function monthTable(a) {
Calendar.cur_day.setMonth(a);
Calendar.refreshTable()
}
function yearTable(a) {
Calendar.cur_day.setYear(a);
Calendar.refreshTable()
}
function gainControl() {
var a = document.getElementById('CalendarCaption').getElementsByTagName('a');
a[0].setAttribute('href', 'javascript:Calendar.PrevMonth();');
a[1].setAttribute('href', 'javascript:Calendar.NextMonth();');
var b = document.getElementById('CalendarFooter').getElementsByTagName('*');
for (var k = 0; k < b.length; k++) {
if (b[k].getAttribute('id') == 'CalLoading') b[k].style.display = 'none';
else if (b[k].getAttribute('id') != null) b[k].style.display = 'inline'
}
}
Calendar = new ArchiveCalendar();

function at_show_aux (a, b) {
var p = document.getElementById(a);
var c = document.getElementById(b);
var d = (c["at_position"] == "y") ? p.offsetHeight + 2 : 0;
var e = (c["at_position"] == "x") ? p.offsetWidth + 2 : 0;
for (; p; p = p.offsetParent) {
d += p.offsetTop;
e += p.offsetLeft
}
c.style.position = "fixed";
c.style.top = d + 'px';
c.style.left = e + 'px';
c.style.visibility = "visible"
}
function at_show() {
var p = document.getElementById(this["at_parent"]);
var c = document.getElementById(this["at_child"]);
at_show_aux (p.id, c.id);
clearTimeout(c["at_timeout"])
}
function at_hide() {
var p = document.getElementById(this["at_parent"]);
var c = document.getElementById(this["at_child"]);
c["at_timeout"] = setTimeout("document.getElementById('" + c.id + "').style.visibility = 'hidden'", 333)
}
function at_click() {
var p = document.getElementById(this["at_parent"]);
var c = document.getElementById(this["at_child"]);
if (c.style.visibility != "visible") at_show_aux (p.id, c.id);
else c.style.visibility = "hidden";
return false
}
function at_attach(a, b, d, e, f) {
var p = document.getElementById(a);
var c = document.getElementById(b);
p["at_parent"] = p.id;
c["at_parent"] = p.id;
p["at_child"] = c.id;
c["at_child"] = c.id;
p["at_position"] = e;
c["at_position"] = e;
c.style.position = "absolute";
c.style.visibility = "hidden";
var g = c.childNodes;
for (var i = 0; i < g.length; i++) {
if (g[i].nodeName == 'FORM') break
}
if (f != undefined) p.style.cursor = f;
switch (d) {
case "click":
p.onclick = at_click;
p.onmouseout = at_hide;
c.onmouseover = at_show;
if (i == g.length) c.onmouseout = at_hide;
break;
case "hover":
p.onmouseover = at_show;
p.onmouseout = at_hide;
c.onmouseover = at_show;
if (i == g.length) c.onmouseout = at_hide;
break
}
}
function sortTable(g, h, j) {
function convert(a, b) {
switch (b) {
case "date":
return new Date(Date.parse(a + '/2000'));
default:
return a.toString()
}
}
function generateCompareTRs(e, f) {
return function compareTRs(a, b) {
var c = a.cells[e].firstChild;
var d = b.cells[e].firstChild;
if (f == 'date') {
vValue1 = convert(c.nodeValue, f);
vValue2 = convert(d.nodeValue, f)
} else {
vValue1 = convert(c.innerHTML, f);
vValue2 = convert(d.innerHTML, f)
}
if (vValue1 < vValue2) return -1;
else if (vValue1 > vValue2) return 1;
else return 0
}
}
var k = document.getElementById(g);
var l = k.tBodies[0];
var m = l.rows;
var n = new Array;
for (var i = 0; i < m.length; i++) {
n[i] = m[i]
}
if (k.sortCol == h) n.reverse();
else n.sort(generateCompareTRs(h, j));
var o = document.createDocumentFragment();
for (var i = 0; i < n.length; i++) {
o.appendChild(n[i])
}
l.appendChild(o);
k.sortCol = h
}
Berikut kode format CSS style yang bisa kalian beri gaya
<style>
#blogCalendar {

}
#CalendarCaption a {

}
#CalendarCaption {

}
#CalendarTable a {

}
.Today {

}
#CalendarFooter {

}
.yearInput {

}
#monthTable {

}
#TOCScroll {
height: 212px;
}
</style>
Link berguna sekaliDemikian postingan hari ini, semoga sobat bisa memakai hacked yg sangat penomenal :d Oooops hampir lupa, CSS style disatukan penempatannya yah dengan si script ;)