Rabu, 29 Februari 2012

Slideshow Otomatis Blogger dengan Imageflow 1.3.0

Imageflow 1.3.0 for Blogger

Hal yang paling sulit adalah tentang bagaimana caranya menyisipkan URL posting ke dalam Imageflow, karena saat gambar diklik, yang terakses bukannya URL halaman, melainkan URL gambar itu sendiri. Meskipun Saya telah berhasil memanipulasinya menggunakan JQuery, yaitu dengan cara menyimpan URL posting ke dalam atribut rel pada gambar, sehingga Saya bisa mengakses URL tersebut dan menyisipkannya ke dalam perintah window.open() seperti ini:

onclick = function() {
window.open($(this).attr('rel'));
}

Tapi Saya pikir, menggunakan JQuery pada Imageflow merupakan sebuah pemborosan besar. Tidak efisien. Bahkan Imageflow bisa bekerja tanpa JQuery! Jadi Saya memutuskan untuk menggunakan ilmu sihir terakhir: Menyisipkan elemen <a> ke dalam atribut rel gambar (karena caption setiap slide diproduksi dari atribut alt pada gambar) seperti ini:

document.write('<img src="' + img[o] + '" alt="&lt;a href=&#39;' + posturl + '&#39;&gt;' + postitle + '&lt;/a&gt;">');

Dan berhasil!

Tahap 1: Mengedit Template

Untuk membuatnya, pertama-tama masuklah ke menu Template kemudian klik Edit HTML dan klik Lanjutkan:

Edit HTML Blogger
Mengedit HTML

Temukan kode ini:

]]></b:skin>

Salin kode di bawah ini, kemudian letakkan di atasnya:

@charset "utf-8";

/*
Auto Content 4 Imageflow 1.3.0 by Taufik Nurrohman
URL: https://plus.google.com/108949996304093815163/about
*/

@media screen, projection {
.imageflow {
width:600px; /* Lebar Slideshow */
position:relative;
text-align:left;
visibility:hidden;
margin:0 auto;
font:normal normal 12px/1.4 Verdana,Tahoma,Arial,Sans-Serif;
}
.imageflow img {
border:none;
padding:0;
margin:0;
background:transparent;
position:absolute;
top:0;
visibility:hidden;
/* Enables bicubic image resampling for the IE7 */
-ms-interpolation-mode:bicubic;
/* Uncomment this declaration to enable shadow around images
-webkit-box-shadow:0 1px 10px black;
-moz-box-shadow:0 1px 10px black;
box-shadow:0 1px 10px black;
*/
}
.imageflow p {
margin:0 auto;
text-align:center;
}
.imageflow .loading {
border:1px solid white;
height:15px;
left:50%;
margin-top:4px;
margin-left:-106px;
padding:5px;
position:relative;
visibility:visible;
width:200px;
}
.imageflow .loading_bar {
background:#fff;
height:15px;
visibility:visible;
width:1%;
}
.imageflow .navigation {
z-index:10000;
margin-top:60px; /* Jarak atas slider terhadap daftar gambar */
}
.imageflow .caption {
font-weight:bold;
position:relative;
text-align:center;
z-index:10001;
text-shadow:0 1px 3px black;
}
.imageflow .caption a {
text-decoration:none;
color:white;
}
.imageflow .caption a:hover {
text-decoration:underline;
color:#8CD0D3;
}
.imageflow .scrollbar {
border-bottom:1px solid #b3b3b3;
position:relative;
visibility:hidden;
z-index:10002;
height:1px;
}
.imageflow .slider {
background:transparent url('http://1.bp.blogspot.com/-4lzSM34zaOA/T01-W0Mb1kI/AAAAAAAACQU/5w3WsezYvRY/s1600/slider.png') no-repeat 50% 50%;
height:14px;
margin:-6px 0 0 -7px;
position:absolute;
width:14px;
z-index:10003;
}
.imageflow .slideshow {
cursor:pointer;
height:14px;
margin:20px 0 0 20px;
position:absolute;
width:14px;
z-index:10003;
}
.imageflow .slideshow.pause {background:transparent url('http://2.bp.blogspot.com/-yt4eRgtDd6I/T01wsFn-e4I/AAAAAAAACPM/pdr8ljnrM9o/s1600/button_pause.png') no-repeat 50% 50%}
.imageflow .slideshow.play {background:transparent url('http://3.bp.blogspot.com/-H5F2nAmaVBA/T01wx0hM8oI/AAAAAAAACPc/OpMSLH-WaO8/s1600/button_play.png') no-repeat 50% 50%}
.imageflow .images {
overflow:hidden;
white-space:nowrap;
}
.imageflow .button {
cursor:pointer;
height:17px;
position:relative;
width:17px;
}
.imageflow .previous {
background:transparent url('http://4.bp.blogspot.com/-Eq4y210bsdE/T01wpORgybI/AAAAAAAACPE/AwOmlS5OrpU/s1600/button_left.png') no-repeat 0 0;
float:left;
margin:-7px 0 0 -30px;
}
.imageflow .next {
background:transparent url('http://2.bp.blogspot.com/-VwvDUzRpSOo/T01wuzhWf-I/AAAAAAAACPU/K4NQIxxIm7U/s1600/button_right.png') no-repeat 0 0;
float:right;
margin:-7px -30px 0 30px;
}
}

Kemudian temukan kode ini:

</head>

Salin kode di bawah ini kemudian letakkan di atasnya:

<script type='text/javascript'>
//<![CDATA[
var loadingText = "Memuat gambar",
animationSpeed = 50,
aspectRatio = 1.964,
circular = true,
imageCursor = 'default',
opacity = false,
opacityArray = [10,8,5,3],
imagesHeight = 0.5,
imageScaling = true,
percentLandscape = 200,
percentOther = 100,
preloadImages = true,
slider = true,
sliderCursor = 'e-resize',
sliderWidth = 14,
scrollbarP = 0.7,
onClick = function() {},
startID = 1,
slideshow = true,
slideshowSpeed = 1500,
slideshowAutoplay = false,
startAnimation = false,
xStep = 200;
//]]>
</script>
<script src='http://reader-download.googlecode.com/svn/trunk/imageflow-custom.js' type='text/javascript'></script>

Klik Simpan Template.

Tahap 2: Meletakkan Slideshow

Masuklah ke menu Tata Letak kemudian tambahkan sebuah elemen halaman HTML/JavaScript yang terletak di bagian atas posting:

Menambahkan Widget
Menambahkan widget

Salin kode di bawah ini kemudian letakkan di dalam formulirnya:

<script type="text/javascript">
var showPostDate_g = false,
showComm_g = false,
slideOpenNewTab = true,
idMode = true,
slidebyLabels = false,
slideLabelName = "Mengenai",
pBlank = "http://2.bp.blogspot.com/-RdWht36FTLI/TrsqFbSraFI/AAAAAAAABO4/rTjPm97uO34/s1600/dte-darkblue.png",
text = "Komentar",
numposts_g = 10,
home_page = "http://nama_blog.blogspot.com";
</script>
<script src="http://reader-download.googlecode.com/svn/trunk/autoContent4Imageflow.1.3.js" type="text/javascript"></script>

Ganti URL http://nama_blog.blogspot.com dengan alamat blog Anda lalu simpan.


Konfigurasi JSON & Imageflow 1.3.0

Pengaturan slideshow ini dibagi menjadi dua, yaitu pengaturan JSON Blogger dan pengaturan opsi dalam Imageflow itu sendiri.

Pengaturan JSON - Auto Content Slider
OpsiKeterangan
showPostDate_gJika bernilai true, bulan terbit artikel akan ditampilkan. Jika bernilai false, bulan terbit artikel akan disembunyikan.
slideOpenNewTabJika bernilai true, setiap link akan terbuka di tab/jendela baru. Jika bernilai false, setiap link akan terbuka di tab/jendela yang sama.
idModeJika bernilai true, sistem penanggalan akan berubah menjadi berbahasa Indonesia. Jika bernilai false, sistem penanggalan akan berubah menjadi berbahasa Inggris.
slidebyLabelsUbah nilainya menjadi true jika ingin menampilkan daftar slide artikel dengan label yang spesifik. Setelah itu tentukan nama label pada variabel slideLabelName.
slideLabelNameDigunakan untuk menentukan nama label yang spesifik setelah mengubah nilai slidebyLabels menjadi true.
pBlankAdalah gambar cadangan yang akan ditampilkan jika artikel tidak memiliki gambar.
textDigunakan untuk menentukan label jumlah komentar (contoh: 7 Komentar).
numposts_gDigunakan untuk menentukan jumlah slide.
home_pageURL blog Anda.
Pengaturan Imageflow 1.3.0
OpsiKeterangan
loadingTextDigunakan untuk menentukan deskripsi saat sedang memuat gambar.
animationSpeedDigunakan untuk menentukan kecepatan gerakan slide.
animationSpeedDigunakan untuk menentukan kecepatan gerakan slide.
aspectRatioRasio kontainer Imageflow (lebar dibagi dengan tinggi)
circularJika bernilai false slideshow akan memiliki titik awal dan titik akhir. Jika bernilai true slideshow akan membentuk lingkaran slide dan tidak akan pernah memiliki akhir (Saat slide telah habis, slide pertama akan muncul setelah slide terakhir).
imageCursorDigunakan untuk menentukan kursor gambar.
opacityJika bernilai true setiap gambar di samping gambar yang sedang aktif akan memudar dan transparan. Semakin jauh jaraknya akan semakin transparan sesuai dengan pengaturan baris transparasi pada opacityArray.
imageCursorDigunakan untuk menentukan kursor gambar (Untuk slideshow Blogger ini, tidak terlalu penting).
opacityArrayDigunakan untuk menentukan tingkat transparasi sesuai dengan jarak gambar dari gambar paling depan (maksudnya, gambar yang di tengah) menuju gambar terakhir/terjauh dari pandangan.
imagesHeightDigunakan untuk menentukan tinggi kontainer gambar (tidak begitu jelas sebenarnya, tapi akan Saya perbaiki keterangan opsi ini jika sudah jelas).
imagesScalingJika bernilai false setiap gambar tidak akan mengecil meskipun jarak gambar sudah semakin jauh.
percentLandscapeKeterangan aslinya seperti ini: Scale landscape format. Tapi setelah Saya coba mengubahnya, opsi ini justru lebih mirip sebagai pengubah skala gambar sehingga gambar bisa menjadi jauh lebih besar dalam area yang tidak begitu luas (Anda harus tahu bahwa slideshow ini sebenarnya sangat responsif).
percentOtherBelum begitu meyakinkan. Keterangan asli: Scale portrait and square format.
preloadImagesJika bernilai false, efek animasi loading tidak akan tampil.
sliderJika bernilai false, slider di bagian bawah slideshow akan menghilang.
sliderCursorDigunakan untuk menentukan kursor slider.
sliderWidthDigunakan untuk menentukan lebar slider (tidak penting, kecuali jika Anda ingin mengubah backgrund-image slider ini).
scrollbarPDigunakan untuk menentukan lebar scrollbar slider dalam persen.
onClickDigunakan untuk menyisipkan fungsi tambahan saat gambar diklik.
startIDDigunakan untuk menentukan slide urutan ke berapa yang akan tampil terlebih dahulu.
slideshowJika bernilai false, simbol play di sebelah kiri atas akan menghilang.
Opsi standar Imageflow
Navigasi standar Imageflow
slideshowSpeedDigunakan untuk menentukan kecepatan slideshow jika opsi slideshow bernilai true.
slideshowAutoplayJika bernilai true, Imageflow akan mengaktifkan fungsi slideshow otomatis saat pertama kali halaman diakses.
startAnimationKurang begitu meyakinkan. Keterangan aslinya: Animate images moving in from the right on startup.
xStepDigunakan untuk menentukan radius lingkaran slideshow. Semakin besar nilainya, maka jarak antara gambar yang satu dengan yang lainnya akan semakin jauh.

Contoh Penerapan: circular:false, opacity:true

//<![CDATA[
...
...
circular = false,
opacity = true,
opacityArray = [10,8,5,3],
...
...
//]]>

Selasa, 28 Februari 2012

Automatic Slideshow for Blogger with 3D Gallery

3D Gallery for Blogger

A letter from Arhan Tubar:

Hello
I like very much the automatic slideshow tutorial and I was wondering if you can help me with something.

I would like to make the slideshow from this link:

http://tympanus.net/codrops/2012/02/06/3d-gallery-with-css3-and-jquery/

...to be automatic like in your tutorials.

Can you help me with this request?

Thank you in advance.

My answer is, “Yes, why not. This is just about inserting images into 3D Gallery markup. A special post for you. Sorry about my bad English” :p

Step 1: Edit Your Template

First go to the Template menu and then click Edit HTML and click Continue/Proceed:

Edit HTML Blogger
Edit HTML

Find this code:

]]></b:skin>

Copy the code below and paste it above ]]></b:skin>:

/*
* Auto Content 4 3D Gallery by Taufik Nurrohman
* Visit: http://hompimpaalaihumgambreng.blogspot.com
*/

.dg-container {
width:100%;
height:450px;
position:relative;
margin:0 auto;
}

.dg-wrapper {
width:370px;
height:300px;
margin:0 auto;
position:relative;
-webkit-transform-style:preserve-3d;
-moz-transform-style:preserve-3d;
-ms-transform-style:preserve-3d;
-o-transform-style:preserve-3d;
transform-style:preserve-3d;
-webkit-perspective:1000px;
-moz-perspective:1000px;
-ms-perspective:1000px;
-o-perspective:1000px;
perspective:1000px;
}

.dg-wrapper a {
width:370px;
height:auto;
display:block;
position:absolute;
left:0;
bottom:0;
text-decoration:none;
-webkit-box-shadow:0 10px 20px rgba(0,0,0,.3);
-moz-box-shadow:0 10px 20px rgba(0,0,0,.3);
box-shadow:0 10px 20px rgba(0,0,0,.3);
}

.dg-wrapper a.dg-transition {
-webkit-transition:all 1s ease-in-out;
-moz-transition:all 1s ease-in-out;
-ms-transition:all 1s ease-in-out;
-o-transition:all 1s ease-in-out;
transition:all 1s ease-in-out;
}

.dg-wrapper a img {
width:100%;
height:auto;
border:none;
outline:none;
background-color:white;
padding:0 0;
margin:0 0;
display:block;
}

.dg-wrapper a div {
font-style:italic;
text-align:center;
line-height:50px;
text-shadow:1px 1px 1px rgba(255,255,255,.5);
color:#333;
font-size:16px;
width:100%;
bottom:-55px;
display:none;
position:absolute;
}

.dg-wrapper a.dg-center div {
display:block;
font:normal normal 14px/1.4 "Times New Roman",Times,Serif;
font-style:italic;
}

.dg-wrapper div a {text-decoration:none}

.dg-container nav {
width:58px;
position:absolute;
z-index:1000;
bottom:40px;
left:50%;
margin-left:-43px;
padding:10px 15px;
}

.dg-container nav span {
text-indent:-9000px;
float:left;
cursor:pointer;
width:24px;
height:25px;
opacity:.8;
background:transparent url('http://4.bp.blogspot.com/-qV9_Htfqexw/T02JMiWMUSI/AAAAAAAACQs/E5yAia_KzCo/s1600/arrows.png') no-repeat top left;
}

.dg-container nav span:hover {opacity:1}

.dg-container nav span.dg-next {
background-position:top right;
margin-left:10px;
}

/* End 3D Gallery */

Then find this code:

</head>

Copy the code below and paste it above:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript' src='http://reader-download.googlecode.com/svn/trunk/modernizr.custom.53451.js'></script>
<script type='text/javascript' src='http://reader-download.googlecode.com/svn/trunk/jquery.gallery.js'></script>
<script type='text/javascript'>
$(window).bind("load", function() {
$('#dg-container').gallery({autoplay:false});
});
</script>

Save your template.

The underlined code is JQuery. If your template already have a JQuery, remove the underlined code! We just need one forever.

Step 2: Put the Slideshow

Go to the Layout menu, then add a new HTML/JavaScript page element that placed above the posts:

Menambahkan Widget
Adding widget

Copy the code below and paste it on the form:

<script type="text/javascript">
var showPostDate_g = true,
showComm_g = true,
slideOpenNewTab = true,
idMode = false,
slidebyLabels = false,
slideLabelName = "Your Specific Post Label",
pBlank = "http://2.bp.blogspot.com/-11FkySHGB5Y/TpZ6SSbsF2I/AAAAAAAAA94/zK10UaL7jgo/s1600/images.jpeg",
text = "Comments",
numposts_g = 4,
home_page = "http://your_blog.blogspot.com";
</script>
<script type="text/javascript" src="http://reader-download.googlecode.com/svn/trunk/autoContent43DGallery.js"></script>

Replace the URL http://your_blog.blogspot.com with your blog URL.


Configuring the Slideshow

We have to set two opstions: JSON and JQuery .gallery()

JSON Configuration - Auto Content Slider
OptionKeterangan
showPostDate_gIf true, the post date will appear. If false, the post date will not appear.
slideOpenNewTabIf true, every link will automatically open in new tab/new window.
idModeIf true, the post date format will turn into Indonesian. If false, the post date format will turn into English.
slidebyLabelsChange to true if you want to sort the posts by a specific label. Then, set the name of your specific label to the slideLabelName.
slideLabelNameUsed to determine the specific label names after changing the slidebyLabels value to true.
pBlankA "no image" image.
textUsed to determine the comments label (e.g: 7 Comments).
numposts_gUsed to set the number of slides.
home_pageYour blog URL.

3D Gallery Configuration

Just two options: true or false. If true, the slideshow will move automatically, if false, the slideshow will move by it's navigation:

$(window).bind("load", function() {
$('#dg-container').gallery({
autoplay:false // true or false
});
});

Few suggestions: This slideshow is only use CSS3 Transition for the animation machine. This fact will be very closely related to the browser support (although we have used the Modernizr script so we will get a very nice fallback slideshow for the browser that does not support). If you are interested, I'll post back a better similar slideshow that support for all browsers. This is called ImageFlow 1.3.0.
Just wait :)

Edit: Here it is!

Slideshow Otomatis Blogger dengan AnythingSlider

Slideshow Otomatis Blogger dengan Anythingslider

Saya sempat kesulitan saat mencoba mengintegrasikan template JSON Blogger dengan JQuery AnythingSlider. Pada dasarnya masalahnya bukan mengarah kepada kesulitan di dalam membangun slideshow, tetapi lebih kepada masalah opsi-opsi dalam plugin ini. Beberapa opsi Saya rasa tidak begitu penting jika kita berhubungan dengan Blogger yang sederhana namun sangat cepat. Jadi, Saya telah meringkas beberapa opsinya untuk mempermudah konfigurasi:

Tahap 1: Mengedit Template

Untuk membuatnya, pertama-tama masuklah ke menu Template kemudian klik Edit HTML dan klik Lanjutkan:

Edit HTML Blogger
Mengedit HTML

Temukan kode ini:

]]></b:skin>

Salin kode di bawah ini, kemudian letakkan di atasnya:

/*
============================================================================
AnythingSlider v1.7+ Default (base) theme
By Chris Coyier: http://css-tricks.com
with major improvements by Doug Neiner: http://pixelgraphics.us/
based on work by Remy Sharp: http://jqueryfordesigners.com/
With some awesome touches by Taufik Nurrohman
to create a very very very very very cool shiny effect :)
============================================================================
*/

#any-slider {
width:645px; /* Atau bisa juga ditentukan sendiri */
height:390px;
list-style:none;
overflow-y:auto;
overflow-x:hidden;
font:normal 12px Georgia,Serif;
color:#666;
position:relative;
text-align:left;
}

#any-slider ul,
#any-slider li {
list-style:none !important;
margin:0px 0px 0px 0px;
padding:0px 0px 0px 0px;
border:none;
outline:none;
}

.anythingBase {max-width:32766px;}

div.anythingSlider .anythingWindow {
border-top:3px solid #7C9127;
border-bottom:3px solid #7C9127;
}

div.anythingSlider .anythingControls ul a.cur,
div.anythingSlider .anythingControls ul a {
background:#777;
color:#000;
}

div.anythingSlider.activeSlider .anythingControls ul a.cur,
div.anythingSlider.activeSlider .anythingControls ul a {
background-color:#7C9127;
}

div.anythingSlider {
display:block;
margin:0 auto;
overflow:visible !important;
position:relative;
padding:0 45px 7px 45px;
background-color:white;
}

div.anythingSlider .anythingWindow {
overflow:hidden;
position:relative;
width:100%;
height:100%;
}

.anythingBase {
background:transparent;
list-style:none !important;
position:absolute;
overflow:visible !important;
top:0;
left:0;
margin:0 0 0 0;
padding:0 0 0 0;
}

.anythingBase .panel {
background:transparent;
display:block;
overflow:hidden;
float:left;
padding:0;
margin:0;
position:relative;
}

.anythingBase .panel.vertical {
float:none;
}

div.anythingSlider .arrow {
top:48%;
position:absolute;
display:block;
}

div.anythingSlider .arrow a {
display:block;
height:140px;
margin:-70px 0 0 0;
width:45px;
text-align:center;
outline:0;
background:transparent url('http://4.bp.blogspot.com/-EWKg7vqmSzo/T0xn-3WMxLI/AAAAAAAACOk/BwxTXwA53M8/s1600/default.png') no-repeat;
}

div.anythingSlider .arrow a span {display:block;text-indent:-9999px;}

div.anythingSlider .back {left:0;}
div.anythingSlider .back a {background-position:left top;}
div.anythingSlider .back a:hover,
div.anythingSlider .back a.hover {background-position:left -140px;}
div.anythingSlider .back.disabled {display:none;}

div.anythingSlider .forward {right:0;}
div.anythingSlider .forward a {background-position:right top;}
div.anythingSlider .forward a:hover,
div.anythingSlider .forward a.hover {background-position:right -140px;}
div.anythingSlider .forward.disabled {display:none;}


div.anythingSlider .anythingControls {outline:0;display:none;}

div.anythingSlider .anythingControls ul {
margin:-4px 0px 0px 0px;
padding:0;
position:absolute;
top:100%;
left:45px;
}

div.anythingSlider .anythingControls ul li {
display:inline;
list-style:none;
margin:0 0 0 0;
padding:0 0 0 0;
border:none;
}

div.anythingSlider .anythingControls ul a {
width:30px;
font:normal 10px Georgia,Serif;
display:inline-block;
text-decoration:none;
text-shadow:0px 1px 0px rgba(255,255,255,0.2);
padding:3px 0px 4px;
margin:0px 2px 0px 0px;
text-align:center;
color:#222;
outline:0;
background-image:url('http://4.bp.blogspot.com/-EWKg7vqmSzo/T0xn-3WMxLI/AAAAAAAACOk/BwxTXwA53M8/s1600/default.png');
background-position:center -288px;
background-color:#7C9127;
-webkit-border-radius:0px 0px 5px 5px;
-moz-border-radius:0px 0px 5px 5px;
border-radius:0px 0px 5px 5px;
}

div.anythingSlider .anythingControls ul a:hover {
background-color:#677621;
}

div.anythingSlider .anythingControls .anythingNavWindow {overflow:hidden;float:left;}

/* Orientasi Right to Left - Biasanya untuk tema Arab */
div.anythingSlider.rtl .anythingControls ul a {float:right;}
div.anythingSlider.rtl .anythingControls ul {float:left;}
div.anythingSlider.rtl .anythingWindow {
direction:ltr;
unicode-bidi:bidi-override;
}

div.anythingSlider .start-stop {
font:normal 10px Georgia,Serif;
background-color:#3B740F;
background-image:url('http://4.bp.blogspot.com/-EWKg7vqmSzo/T0xn-3WMxLI/AAAAAAAACOk/BwxTXwA53M8/s1600/default.png');
background-position:center -288px;
padding:3px 5px;
width:60px;
text-align:center;
text-decoration:none;
text-shadow:0px 1px 0px rgba(0,0,0,0.2);
color:white;
float:right;
z-index:100;
outline:0;
-webkit-border-radius:0 0 5px 5px;
-moz-border-radius:0 0 5px 5px;
border-radius:0 0 5px 5px;
}

div.anythingSlider .start-stop.playing {
background-color:#800;
}

div.anythingSlider,
div.anythingSlider .anythingWindow,
div.anythingSlider .anythingControls ul a,
div.anythingSlider .arrow a,
div.anythingSlider .start-stop {
-webkit-transition-duration:0;
-moz-transition-duration:0;
-ms-transition-duration:0;
-o-transition-duration:0;
transition-duration:0;
}

div.anythingSlider .container {
font:normal 11px Arial,Sans-Serif;
font-style:italic;
color:#666;
margin:10px 15px;
padding:0 0;
border:none;
}

div.anythingSlider h2, div.anythingSlider h2 a {
margin:0px 0px;
padding:0px 0px;
font:bold italic 16px Georgia,Serif;
color:#666;
text-decoration:none;
}

div.anythingSlider h2 {margin-bottom:10px;}

div.anythingSlider .container img {
display:block;
width:47% !important;
height:auto !important;
float:right;
margin:0px 0px 5px 10px;
border:1px solid #dcdcdc;
background-color:#fafafa;
padding:4px;
-webkit-box-shadow:none;
-moz-box-shadow:none;
box-shadow:none;
}

div.anythingSlider .container span {
display:block !important;
margin-top:10px;
border-top:1px dotted #ccc;
padding:10px 0px 0px;
font:bold 12px Georgia,Serif;
color:green;
overflow:hidden;
}

div.anythingSlider .container span a {
float:right;
background-color:#768927;
font:bold italic 11px Arial,Sans-Serif;
color:white;
text-decoration:none;
padding:2px 7px 3px;
border:2px solid #eee;
-webkit-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.4);
-moz-box-shadow:inset 0px 1px 2px rgba(0,0,0,0.4);
box-shadow:inset 0px 1px 2px rgba(0,0,0,0.4);
-webkit-border-radius:15px;
-moz-border-radius:15px;
border-radius:15px;
}

div.anythingSlider .container span a:hover {
background-color:#626415;
}

.clear {clear:both;}

/*
=======================================================================
End AnythingSlider
=======================================================================
*/

Kemudian temukan kode ini:

</head>

Salin kode di bawah ini kemudian letakkan di atasnya:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript' src='http://reader-download.googlecode.com/svn/trunk/jquery.anythingslider.min.js'></script>
<script type='text/javascript'>
//<![CDATA[
$(function() {

$('#any-slider').anythingSlider({
resizeContents : false,
expand : false,
vertical : false,
easing : "swing",

buildArrows : true,
buildNavigation : true,
buildStartStop : true,

toggleArrows : false,
toggleControls : false,

startText : "Mulai",
stopText : "Berhenti",
enableKeyboard : true,

startPanel : 1,
hashTags : true,
infiniteSlides : true,

autoPlay : false,
pauseOnHover : true,
stopAtEnd : false,
playRtl : false,

delay : 3000,
animationTime : 600
});

});
//]]>
</script>

Kode yang Saya beri garis bawah adalah JQuery. Jika template Anda sudah dilengkapi dengan JQuery, singkirkan kode tersebut!

Berikutnya cari baris kode yang tampak kurang lebih seperti ini:

<div id='header-wrapper'>
<b:section class='header' id='header' maxwidgets='2' showaddelement='no'>
<b:widget id='Header1' locked='true' title='Life is Be U to Full (Header)' type='Header'/>
</b:section>
</div>

Salin kode ini kemudian letakkan di bawahnya:

<script type="text/javascript">
//<![CDATA[
var showPostDate_g = true,
showComm_g = true,
slideOpenNewTab = true,
idMode = true,
slidebyLabels = false,
slideLabelName = "Mengenai",
pBlank = "http://2.bp.blogspot.com/-11FkySHGB5Y/TpZ6SSbsF2I/AAAAAAAAA94/zK10UaL7jgo/s1600/images.jpeg",
text = "Komentar",
numposts_g = 12,
numchars_g = 600,
rmore = "Selengkapnya",
home_page = "http://nama_blog.blogspot.com/";
//]]>
</script>
<script type="text/javascript" src="http://reader-download.googlecode.com/svn/trunk/autoContent4anythingSlider.js"></script>

Ganti URL http://nama_blog.blogspot.com/ dengan alamat blog Anda lalu klik Simpan Template.

Atau untuk versi template baru biasanya sedikit lebih rumit. Temukan saja kode yang tampak seperti ini:

    <div id='wrap-main'>
<div class='helvetica' id='main'>
<b:section class='left-09col' id='primary' role='main' showaddelement='yes'>
<b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog'/>
<b:widget id='Feed1' locked='false' title='Blogger Templates' type='Feed'/>
</b:section>
...
...

Letakkan kode yang baru saja Anda salin tepat di atasnya.


Konfigurasi Slideshow - JSON & AnythingSlider

Pengaturan slideshow ini dibagi menjadi dua, yaitu pengaturan JSON Blogger dan pengaturan plugin AnythingSlider itu sendiri.

Pengaturan JSON - Auto Content Slider

Kurang lebihnya sama seperti pengaturan slideshow yang lain:

OpsiKeterangan
showPostDate_gJika bernilai true, bulan terbit artikel akan ditampilkan. Jika bernilai false, bulan terbit artikel akan disembunyikan.
slideOpenNewTabJika bernilai true, setiap tautan akan terbuka di tab/jendela baru. Jika bernilai false, setiap tautan akan terbuka di tab/jendela yang sama.
idModeJika bernilai true, sistem penanggalan akan berubah menjadi berbahasa Indonesia. Jika bernilai false, sistem penanggalan akan berubah menjadi berbahasa Inggris.
slidebyLabelsUbah nilainya menjadi true jika ingin menampilkan daftar slide artikel dengan label yang spesifik. Setelah itu tentukan nama label pada variabel slideLabelName.
slideLabelNameDigunakan untuk menentukan nama label yang spesifik setelah mengubah nilai slidebyLabels menjadi true.
pBlankAdalah gambar cadangan yang akan ditampilkan jika artikel tidak memiliki gambar.
textDigunakan untuk menentukan label jumlah komentar (contoh: 7 Komentar).
numposts_gDigunakan untuk menentukan jumlah slide.
numchars_gDigunakan untuk menentukan jumlah karakter ringkasan artikel.
rmoreDigunakan untuk menentukan teks tautan menuju posting sesungguhnya (contoh: Baca Selengkapnya/Read More).
home_pageURL blog Anda.

Pengaturan Plugin

Saya telah menyederhanakan opsi-opsi pada plugin ini. Untuk mempelajari opsi selengkapnya bisa Anda baca di sini:

OpsiNilaiKeterangan
resizeContentstrueSebenarnya opsi ini digunakan untuk dominasi konten berupa gambar. Saya sarankan Anda untuk tetap mempertahankan nilainya sebagai false agar tampilannya tidak berantakan.
false
expandtrueJika bernilai true, lebar slideshow akan menyesuaikan diri berdasarkan lebar elemen induk sehingga opsi ini sangat cocok untuk blog bertema responsif.
false
verticaltrueSecara normal slideshow ini akan bergerak secara horizontal. Tapi, dengan mengubah nilai opsi ini menjadi true, orientasi animasi slideshow akan berubah menjadi orientasi vertikal.
false
easing'swing', 'easeInOutBack', ... (nama easing)Digunakan untuk mengaktifkan easing pada animasi slideshow (pelajari di sini).
buildArrowstrueJika bernilai false navigasi next/previous akan menghilang.
false
buildNavigationtrueJika bernilai false navigasi 1, 2, 3, ... akan menghilang.
false
buildStartStoptrueJika bernilai false navigasi Mulai/Berhenti akan menghilang.
false
Navigasi default AnythingSlider
Navigasi default AnythingSlider
toggleArrowstrueJika bernilai true navigasi next/previous akan disembunyikan, hingga saat pointer mouse mendekati slideshow, navigasi tersebut akan ditampilkan dengan efek animasi.
false
toggleControlstrueJika bernilai true navigasi 1, 2, 3, ... dan Mulai/Berhenti akan disembunyikan, hingga saat pointer mouse mendekati slideshow, navigasi tersebut akan ditampilkan dengan efek animasi. Begitu pula saat animasi perpindahan setiap slide telah selesai.
false
startText"Start", "Mulai", ... (teks)Digunakan untuk menentukan label navigasi Mulai (default:"Start").
stopText"Stop", "Berhenti", ... (teks)Digunakan untuk menentukan label navigasi Berhenti (default:"Stop").
enableKeyboardtrueJika bernilai false fasilitas navigasi menggunakan tombol panah pada keyboard akan dinonaktifkan.
false
startPanel1, 2, 3, ... (nomor urut)Digunakan untuk menentukan slide urutan ke berapa yang akan terlihat lebih dulu (default:1).
hashtagtrueJika bernilai true saat Anda mengeklik navigasi jalan pintas, itu akan mengubah hash yang ada pada address bar. Kelihatannya memang sepele, tetapi ini bisa digunakan untuk berbagi URL halaman yang di dalamnya terdapat slideshow ini, dimana Anda ingin menampilkan slide pada urutan tertentu saat tautan berbagi tersebut diakses.
false
Hash pada URL
Hash pada URL
infiniteSlidestrueSecara normal, slideshow ini akan bergerak dari kanan ke kiri secara terus-menerus meskipun slide telah mencapai akhir. Jika Anda mengubah nilai opsi ini menjadi false, maka saat animasi slideshow berakhir, slideshow akan bergerak menuju arah sebaliknya dengan cepat untuk menuju kepada slide pertama dan memulai animasi kembali.
false
autoPlaytrueJika bernilai true slideshow akan bergerak dengan sendirinya tanpa diperintah saat pertama kali halaman diakses. Untuk alasan kenyamanan, lebih baik set sebagai false sehingga pengunjung bisa mengaktifkan animasi otomatis dengan cara menekan tombol Mulai. Karena jika tidak, halaman blogmu bisa naik turun hehe...
false
pauseOnHovertrueJika bernilai true slideshow akan berhenti bergerak saat pointer mouse sedang berada di atasnya.
false
stopAtEndtrueJika bernilai true slideshow akan berhenti saat telah mencapai slide terakhir.
false
playRtltrueJika bernilai true slideshow akan bergerak secara terbalik, termasuk orientasi navigasi angkanya (dari kanan ke kiri). Biasanya ini untuk slideshow bertema/berbahasa Arab.
false
Slideshow Terbalik
Slideshow Terbalik
delay1000, 2000, ... (milidetik)Digunakan untuk menentukan seberapa lama slide akan berhenti sebelum akhirnya berpindah menuju slide berikutnya.
animationTime1000, 2000, ... (milidetik)Digunakan untuk menentukan kecepatan transisi slide.

Contoh Penerapan Slideshow Orientasi Vertikal

//<![CDATA[
$(function() {

$('#any-slider').anythingSlider({
resizeContents : false,
expand : false,
vertical : true,
startText : "Mulai",
stopText : "Berhenti",
enableKeyboard : true,
autoPlay : false,
pauseOnHover : true,
playRtl : false,
delay : 3000,
animationTime : 600
});

});
//]]>

Contoh Penerapan Efek Animasi dengan Easing

Di sini Saya memakai tipe easing eseInOutBack:

//<![CDATA[
$(function() {

$('#any-slider').anythingSlider({
resizeContents : false,
expand : false,
easing : "easeInOutBack",
startText : "Mulai",
stopText : "Berhenti",
delay : 3000,
animationTime : 600
});

});
//]]>

Autohide Navigasi

//<![CDATA[
$(function() {

$('#any-slider').anythingSlider({
resizeContents : false,
expand : false,
vertical : false,
easing : "easeInOutExpo",
toggleArrows : true,
toggleControls : false,
startText : "Mulai",
stopText : "Berhenti",
enableKeyboard : true
});

});
//]]>

Hal yang sama juga bisa dilakukan untuk navigasi 1, 2, 3, ...

toggleArrows : true,
toggleControls : true

Seringkali slideshow ini akan tampak berantakan pada template-template yang rumit. Jika ingin menghasilkan tampilan yang maksimal, lebih baik gunakan template dengan tampilan sesederhana mungkin dan kode CSS sesedikit mungkin.

Minggu, 26 Februari 2012

Slideshow Otomatis Blogger dengan SLIDES

Slideshow Otomatis Blogger dengan SLIDES

Saya menggunakan versi terakhir dari SLIDES yaitu pada 5 September 2011. Meskipun sebenarnya bagi Saya masih ada satu bug kecil saat Saya mencoba untuk berpindah tab halaman kemudian kembali lagi, saat itu durasi animasi menjadi sedikit berantakan sampai beberapa saat kemudian kembali normal. Nivo telah berhasil mengatasi ini dengan rilis kecilnya untuk mengatasi masalah yang hampir sama.


Tahap 1: Mengedit Template

Untuk membuatnya, pertama-tama masuklah ke menu Template kemudian klik Edit HTML dan klik Lanjutkan:

Edit HTML Blogger
Mengedit HTML


Temukan kode ini:

]]></b:skin>

Salin kode di bawah ini, kemudian letakkan di atasnya:

/*
* Slides, A Slideshow Plugin for jQuery
* Intructions: http://slidesjs.com
* By: Nathan Searles, http://nathansearles.com
* Version: 1.1.9
* Updated: September 5th, 2011
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#slides-outer {
width:570px;
height:270px;
position:relative;
margin:30px auto 0px;
background-color:#efefef;
}

/* Netralisasi gambar */
#slides-outer img {
margin:0px 0px;
padding:0px 0px !important;
background:transparent !important;
border:none !important;
outline:none !important;
-webkit-box-shadow:none;
-moz-box-shadow:none;
box-shadow:none;
}
#ribbon,
#frame,
#slides .next,
#slides .prev {opacity:1 !important;}
/* Stop di sini */

#ribbon {
position:absolute;
top:-3px;
left:-15px;
z-index:500;
}

#frame {
position:absolute;
z-index:0;
width:739px;
height:341px;
top:-3px;
left:-80px;
}

#slides {
position:absolute;
top:15px;
left:4px;
z-index:100;
font:normal 12px Arial,Sans-Serif;
}

.slides_container {
width:570px;
overflow:hidden;
position:relative;
display:none;
}

.slides_container div.slide, .slides_container div.slide img {
width:570px;
height:270px;
display:block;
overflow:hidden;
}

.slides_container div.slide img {height:auto !important;}

#slides .next,
#slides .prev {
position:absolute;
top:107px;
left:-39px;
width:24px;
height:43px;
display:block;
z-index:101;
}

#slides .next {
left:585px;
}

.pagination {
margin:26px auto 0;
padding:0px 0px;
width:auto;
text-align:center;
}

.pagination li {
display:inline-block;
*display:inline;
margin:0px 1px;
padding:0px 0px;
list-style:none;
}

.pagination li a {
display:block;
width:12px;
height:0px;
padding-top:12px;
background-image:url('http://1.bp.blogspot.com/-kBxWiSmnR0U/T0pmXN_FqHI/AAAAAAAACOE/HgB4YfcCvgE/s1600/pagination.png');
background-position:0 0;
overflow:hidden;
}

.pagination li.current a {
background-position:0 -12px;
}

#slides .caption {
z-index:500;
position:absolute;
bottom:-35px;
left:0;
height:30px;
padding:5px 20px 0 20px;
background-color:#000;
background-color:rgba(0,0,0,0.5);
width:540px;
font:normal 13px Helvetica,Arial,sans-serif;
color:white;
border-top:1px solid #000;
text-shadow:none;
}

#slides .caption a {
text-decoration:none;
color:white;
}
#slides .caption a:hover {
text-decoration:underline;
}

/* End SLIDES */

Kemudian temukan kode ini:

</head>

Salin kode di bawah ini kemudian letakkan di atasnya:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>
<script src='http://reader-download.googlecode.com/svn/trunk/slides.min.jquery.js' type='text/javascript'></script>
<script type='text/javascript'>
//<![CDATA[
$(function() {
$('#slides').slides({
generatePagination : true,
preload : true,
preloadImage : 'http://reader-download.googlecode.com/svn/trunk/images/slides-loader.gif',
play : 5000,
pause : 2500,
hoverPause : true,
effect : 'slide',
fadeSpeed : 350,
fadeEasing : '',
crossfade : true,
slideSpeed : 350,
slideEasing : '',
// Kustomisasi fungsi untuk menyisipkan caption
animationStart: function(current) {
$('div.caption').animate({bottom:-35}, 100);
},
animationComplete: function(current) {
$('div.caption').animate({bottom:0}, 200);
},
slidesLoaded: function() {
$('div.caption').animate({bottom:0}, 200);
}
});
});
//]]>
</script>

Klik Simpan Template.

Kode yang Saya beri garis bawah adalah JQuery. Jika template Anda sudah dilengkapi dengan JQuery, singkirkan kode tersebut!


Tahap 2: Meletakkan Slideshow

Masuklah ke menu Tata Letak kemudian tambahkan sebuah elemen halaman HTML/JavaScript yang terletak di bagian atas posting:

Menambahkan Widget
Menambahkan widget


Salin kode di bawah ini kemudian letakkan di dalam formulirnya:

<script type="text/javascript">
var showPostDate_g = false,
showComm_g = false,
slideOpenNewTab = false,
idMode = true,
slidebyLabels = false,
slideLabelName = "Mengenai",
pBlank = "http://2.bp.blogspot.com/-11FkySHGB5Y/TpZ6SSbsF2I/AAAAAAAAA94/zK10UaL7jgo/s1600/images.jpeg",
text = "Komentar",
numposts_g = 4,
home_page = "http://latitudu.blogspot.com/";
</script>
<div id="slides-outer">
<img src="http://4.bp.blogspot.com/-NYp6Cx-vy6A/T0plh0PkkdI/AAAAAAAACNs/NFkZdqeP8hY/s1600/example-frame.png" width="739" height="341" alt="Example Frame" id="frame" />
<img src="http://4.bp.blogspot.com/-T1K0fQGXHn8/T0pmUCTEjEI/AAAAAAAACN8/zJ1CEvvEzLo/s1600/new-ribbon.png" width="112" height="112" alt="New Ribbon" id="ribbon" />
<div id="slides">
<script src="http://reader-download.googlecode.com/svn/trunk/autoContent4SLIDES.js" type="text/javascript"></script>
<a href="#" class="prev">
<img src="http://4.bp.blogspot.com/-YBh6RVIP6rM/T0plXL_Z94I/AAAAAAAACNc/JYe-5VPD4Bs/s1600/arrow-prev.png" width="24" height="43" alt="Arrow Prev">
</a>
<a href="#" class="next">
<img src="http://2.bp.blogspot.com/-bJqPep9dJZU/T0plVM2OuBI/AAAAAAAACNU/at-rT9KkcYw/s1600/arrow-next.png" width="24" height="43" alt="Arrow Next">
</a>
</div>
</div>

Ganti URL http://latitudu.blogspot.com/ dengan alamat blog Anda lalu simpan.



Konfigurasi Slideshow

Pengaturan slideshow ini dibagi menjadi dua, yaitu pengaturan JSON Blogger dan pengaturan plugin SLIDES itu sendiri.

Pengaturan JSON - Auto Content Slider

OpsiKeterangan
showPostDate_gJika bernilai true, bulan terbit artikel akan ditampilkan. Jika bernilai false, bulan terbit artikel akan disembunyikan.
slideOpenNewTabJika bernilai true, setiap link akan terbuka di tab/jendela baru. Jika bernilai false, setiap link akan terbuka di tab/jendela yang sama.
idModeJika bernilai true, sistem penanggalan akan berubah menjadi berbahasa Indonesia. Jika bernilai false, sistem penanggalan akan berubah menjadi berbahasa Inggris.
slidebyLabelsUbah nilainya menjadi true jika ingin menampilkan daftar slide artikel dengan label yang spesifik. Setelah itu tentukan nama label pada variabel slideLabelName.
slideLabelNameDigunakan untuk menentukan nama label yang spesifik setelah mengubah nilai slidebyLabels menjadi true.
pBlankAdalah gambar cadangan yang akan ditampilkan jika artikel tidak memiliki gambar.
textDigunakan untuk menentukan label jumlah komentar (contoh: 7 Komentar).
numposts_gDigunakan untuk menentukan jumlah slide.
home_pageURL blog Anda.

Pengaturan Plugin

Ada cukup banyak pengaturan pada plugin ini, tetapi Saya hanya akan menyisipkan beberapa pengaturan yang penting saja. Mengingat slideshow ini merupakan slideshow dengan konten otomatis, beberapa pengaturan menjadi sulit/gagal diterapkan. Misalnya randomize dan bigTarget yang sebenarnya tidak perlu kita atur pada slideshow ini:

OpsiNilaiKeterangan
generatePaginationtrueUbah nilainya menjadi false jika ingin menghilangkan navigasi berbentuk bulatan-bulatan di bagian bawah slideshow
false
preloadtrueUbah nilainya menjadi false jika tidak menginginkan animasi loading pada awal akses halaman.
false
preloadImageURL GambarTentukan URL gambar "loading" pada variabel ini.
play3000, 5000, 6000, ... (numerik)Digunakan untuk menentukan interval perpindahan slide.
pause1000, 2000, ... (numerik)Digunakan untuk menentukan lama berhentinya slide saat kita memutuskan untuk mengeklik navigasi next/prev atau navigasi bulat di bagian bawah (lama waktu berhenti slideshow setelah kita mengeklik navigasi jalan pintas sampai kemudian animasi berjalan lagi).
hoverPausetrueDigunakan untuk menentukan apakah slideshow akan berhenti berjalan saat pointer mouse berada di atasnya (true) atau tidak (false).
false
effect'slide'Digunakan untuk menentukan efek animasi slideshow. Umumnya slide atau fade, namun Anda juga bisa menerapkan keduanya sekaligus dengan memisahkannya menggunakan tanda koma. Dalam artian, efek pertama akan diterapkan pada navigasi next/prev sedangkan efek ke dua akan diterapkan pada navigasi bulatan.
'fade'
'slide, fade'
'fade, slide'
fadeSpeed200, 300, 'slow', ... (kecepatan valid JQuery)Digunakan untuk menentukan kecepatan fade saat Anda telah memilih efek fade.
fadeEasing'easeOutBounce', 'easeInBack' ... (nama Easing)Digunakan untuk mengaktifkan easing pada animasi fade (pelajari di sini).
crossfadetrueDigunakan untuk menentukan apakah efek perpindahan slide (efek fade) akan dilakukan dengan cara memudarkan slide yang tampil, kemudian pada saat yang bersamaan menampilkan slide setelahnya (true) atau dengan cara memudarkan slide yang tampil, menunggu sampai efek pemudaran berakhir, barulah slide berikutnya ditampilkan (false).
false
slideSpeed200, 300, 'slow', ... (kecepatan valid JQuery)Digunakan untuk menentukan kecepatan slide saat Anda telah memilih efek slide.
slideEasing'easeOutBounce', 'easeInBack' ... (nama Easing)Digunakan untuk mengaktifkan easing pada animasi slide (pelajari di sini).

Contoh Penerapan Efek Fade

//<![CDATA[
$(function(){
$('#slides').slides({
generatePagination : true,
preload : true,
preloadImage : 'http://reader-download.googlecode.com/svn/trunk/images/slides-loader.gif',
play : 5000,
pause : 2500,
hoverPause : true,
effect : 'fade',
fadeSpeed : 350,
fadeEasing : '',
crossfade : true,
// Kustomisasi fungsi untuk menyisipkan caption
animationStart: function(current) {
$('div.caption').animate({bottom:-35}, 100);
},
animationComplete: function(current) {
$('div.caption').animate({bottom:0}, 200);
},
slidesLoaded: function() {
$('div.caption').animate({bottom:0}, 200);
}
});
});
//]]>


Contoh Penerapan Easing

//<![CDATA[
$(function(){
$('#slides').slides({
generatePagination : true,
preload : true,
preloadImage : 'http://reader-download.googlecode.com/svn/trunk/images/slides-loader.gif',
play : 5000,
pause : 2500,
hoverPause : true,
effect : 'slide',
slideSpeed : 700,
slideEasing : 'easeInOutBack',
// Kustomisasi fungsi untuk menyisipkan caption
animationStart: function(current) {
$('div.caption').animate({bottom:-35}, 100);
},
animationComplete: function(current) {
$('div.caption').animate({bottom:0}, 200);
},
slidesLoaded: function() {
$('div.caption').animate({bottom:0}, 200);
}
});
});
//]]>



Untuk Pengembang

var showPostDate_g = true,
showComm_g = true,
slideOpenNewTab = false,
idMode = true,
slidebyLabels = true,
slideLabelName = "Mengenai",
pBlank = "blank.jpg",
text = "Komentar",
numposts_g = 4,
home_page = "http://yourblog.blogspot.com/";

function showgal(z) {
var imgr = 0,
j = 0,
img = new Array();
for (var o = 0; o < numposts_g; o++) {
var w = z.feed.entry[o];
var g = w.title.$t;
var f;
var p;
if (o == z.feed.entry.length) {
break
}
for (var l = 0; l < w.link.length; l++) {
if (w.link[l].rel == "alternate") {
p = w.link[l].href;
break
}
}
for (var l = 0; l < w.link.length; l++) {
if (w.link[l].rel == "replies" && w.link[l].type == "text/html") {
f = w.link[l].title.split(" ")[0];
break
}
}
if ("content" in w) {
var r = w.content.$t
} else {
if ("summary" in w) {
var r = w.summary.$t
} else {
var r = ""
}
}
postdate = w.published.$t;
if (j > imgr.length - 1) {
j = 0
}
img[o] = imgr[j];
s = r;
a = s.indexOf('<img');
b = s.indexOf('src="', a);
c = s.indexOf('"', b + 5);
d = s.substr(b + 5, c - b - 5);
if ((a != -1) && (b != -1) && (c != -1) && (d != "")) {
img[o] = d
} else {
img[o] = pBlank
}
var cmtext = (showComm_g) ? f + ' ' + text : '';
var q = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
if (idMode) {
var x = ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Agt", "Sep", "Okt", "Nov", "Des"];
} else {
var x = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
}
var u = postdate.split("-")[2].substring(0, 2);
var h = postdate.split("-")[1];
var t = postdate.split("-")[0];
for (var e = 0; e < q.length; e++) {
if (parseInt(h) == q[e]) {
h = x[e];
break
}
}
var n = (showPostDate_g) ? ' - ' + u + ' ' + h + ' ' + t + ' - ' : '';
if (slideOpenNewTab) {
document.write('<div class="slides_container"><div class="slide"><a href="' + p + '" target="_blank"><img src="' + img[o] + '" alt="" class="recent-thumb"/></a><div class="caption" style="bottom:0px;"><a href="' + p + '" class="recent-link" target="_blank">' + g + '</a>' + n + cmtext + '</div></div></div>');
} else {
document.write('<div class="slides_container"><div class="slide"><a href="' + p + '"><img src="' + img[o] + '" alt="" class="recent-thumb"/></a><div class="caption" style="bottom:0px;"><a href="' + p + '" class="recent-link">' + g + '</a>' + n + cmtext + '</div></div></div>');
}
j++
}
}

if (slidebyLabels) {
document.write('<script src="' + home_page + 'feeds/posts/default/-/' + slideLabelName + '?max-results=' + numposts_g + '&orderby=published&alt=json-in-script&callback=showgal"><\/script>');
} else {
document.write('<script src="' + home_page + 'feeds/posts/default?max-results=' + numposts_g + '&orderby=published&alt=json-in-script&callback=showgal"><\/script>');
}

Slideshow Otomatis Blogger dengan S3Slider

Slideshow Otomatis Blogger dengan S3Slider

S3Slider, sebuah slideshow sederhana namun selalu memiliki kesan tegas dan kuat bagi Saya. Itulah yang dulu membuat Saya memilih ini sebagai slideshow pertama yang Saya terapkan di blog ini. Sampai pada akhirnya Saya memutuskan berpindah ke Nivo.

Kali ini Saya akan mengintegrasikan S3Slider dengan JSON Blogger untuk memuat setiap slide secara otomatis berdasarkan artikel/posting terbaru yang diterbitkan:

Mengedit Template

Untuk membuatnya, pertama-tama masuklah ke menu Template kemudian klik Edit HTML dan klik Lanjutkan:

Edit HTML Blogger
Mengedit HTML

Temukan kode ini:

]]></b:skin>

Salin kode di bawah ini, kemudian letakkan di atasnya:

#slider,
#sliderContent,
#slider img {
width:420px; /* Tentukan lebar slideshow */
height:270px; /* Tentukan tinggi slideshow */
}

#slider {
margin:0 auto 10px;
border:2px solid white;
background:#fff url('http://reader-download.googlecode.com/svn/trunk/images/nivo-loading.gif') no-repeat 50% 50%;
position:relative;
-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4),0 7px 10px -3px rgba(0,0,0,.4);
-moz-box-shadow:0 1px 3px rgba(0,0,0,.4),0 7px 10px -3px rgba(0,0,0,.4);
box-shadow:0 1px 3px rgba(0,0,0,.4),0 7px 10px -3px rgba(0,0,0,.4);
overflow:hidden;
}

#sliderContent {
position:absolute;
top:0;
left:0;
margin:0 0;
padding:0 0;
overflow:hidden;
}

#slider img {
border:none;
padding:0 0;
margin:0 0;
width:100%;
height:auto;
outline:none;
}

.sliderImage {
list-style:none;
margin:0 0;
padding:0 0;
width:100%;
display:none;
}

.sliderImage span {
position:absolute;
left:0;
right:0;
bottom:0;
height:auto;
font:normal 11px Arial,Sans-Serif;
color:white;
background-color:black;
opacity:.8;
filter:alpha(opacity=80);
padding:7px 10px 12px;
display:none;
}

.sliderImage span a {
font-size:12px;
font-weight:bold;
color:white;
text-decoration:none;
}

Kemudian temukan kode ini:

</head>

Salin kode di bawah ini kemudian letakkan di atasnya:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>
<script src='http://reader-download.googlecode.com/svn/trunk/s3Slider.js' type='text/javascript'></script>
<script type='text/javascript'>
//<![CDATA[
$(window).bind('load', function() {
$('#slider').css('background-image', 'none').s3Slider({
timeOut:3000
});
});
//]]>
</script>

Klik Simpan Template.

Ubah ukuran slideshow dengan cara mengubah nilai width dan height pada CSS:

#slider,
#sliderContent,
#slider img {
width:420px; /* Tentukan lebar slideshow */
height:270px; /* Tentukan tinggi slideshow */
}

timeOut:3000 adalah kecepatan standar animasi slideshow. Kode yang Saya beri garis bawah adalah JQuery. Jika template Anda sudah dilengkapi dengan JQuery, singkirkan kode tersebut!

14 April 2013: Samakan juga nilai thumbWidth dengan lebar slideshow.

Meletakkan Slideshow

Masuklah ke menu Tata Letak kemudian tambahkan sebuah elemen halaman HTML/JavaScript yang terletak di bagian atas posting. Karena di situlah letak ideal untuk menampilkan slideshow:

Menambahkan Widget
Menambahkan widget

Salin kode di bawah ini kemudian letakkan di dalam formulirnya:

<script type="text/javascript">
var showPostDate_g = true,
slideOpenNewTab = false,
idMode = true,
slidebyLabels = false,
slideLabelName = "Mengenai",
thumbWidth = 420,
pBlank = "http://2.bp.blogspot.com/-11FkySHGB5Y/TpZ6SSbsF2I/AAAAAAAAA94/zK10UaL7jgo/s1600/images.jpeg",
text = "Komentar",
numposts_g = 10,
home_page = "http://nama_blog.blogspot.com/";
</script>
<script src="http://reader-download.googlecode.com/svn/trunk/autoContent4s3Slider.js" type="text/javascript"></script>

Ganti URL http://nama_blog.blogspot.com/ dengan alamat blog Anda lalu simpan.


Pengaturan

Karena ini adalah slideshow yang sederhana, opsi pengaturan tidak perlu terlalu banyak:

OpsiKeterangan
showPostDate_gJika bernilai true, bulan terbit artikel akan ditampilkan. Jika bernilai false, bulan terbit artikel akan disembunyikan.
slideOpenNewTabJika bernilai true, setiap tautan akan terbuka di tab/jendela baru. Jika bernilai false, setiap tautan akan terbuka di tab/jendela yang sama.
idModeJika bernilai true, sistem penanggalan akan berubah menjadi berbahasa Indonesia. Jika bernilai false, sistem penanggalan akan berubah menjadi berbahasa Inggris.
slidebyLabelsUbah nilainya menjadi true jika ingin menampilkan daftar slide artikel dengan label yang spesifik. Setelah itu tentukan nama label pada variabel slideLabelName.
slideLabelNameDigunakan untuk menentukan nama label yang spesifik setelah mengubah nilai slidebyLabels menjadi true.
thumbWidthDigunakan untuk menentukan resolusi gambar.
pBlankAdalah gambar cadangan yang akan ditampilkan jika artikel tidak memiliki gambar.
textDigunakan untuk menentukan label jumlah komentar (contoh: 7 Komentar).
numposts_gDigunakan untuk menentukan jumlah slide.
home_pageURL blog Anda.

Klik Simpan Perubahan dan lihat hasilnya.

Jumat, 24 Februari 2012

Widget Recent Post dengan Lebih Banyak Pilihan

All in One Recent Post Widget

Widget yang tampak berwarna hijau di atas adalah widget recent post/posting terbaru dengan begitu banyak pilihan. Anda bisa menyembunyikan gambar, komentar, bulan terbit dan ringkasan atau sebaliknya, menampilkannya. Menentukan apakah widget ini akan dianimasikan atau tidak juga bisa dilakukan. Cukup ikuti langkah-langkah di bawah ini dan pelajari tabel konfigurasinya:

Pertama-tama masuklah ke halaman tata letak dengan mengeklik menu Tata Letak:

Tata letak Blogger
Masuk ke halaman Tata Letak

Tambahkan sebuah elemen halaman HTML/JavaScript, kemudian salin semua kode ini dan letakkan di dalam formulirnya:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>
<style type="text/css" scoped="scoped">
.spy-outer {
border:2px solid white;
-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);
-moz-box-shadow:0 1px 3px rgba(0,0,0,.4);
box-shadow:0 1px 3px rgba(0,0,0,.4);
margin:0 auto;
}

.spy-outer h2 {
margin:0 0;
padding:5px 10px;
background-color:#008800;
background-image:-webkit-linear-gradient(top,#008800,#037103);
background-image:-moz-linear-gradient(top,#008800,#037103);
background-image:-ms-linear-gradient(top,#008800,#037103);
background-image:-o-linear-gradient(top,#008800,#037103);
background-image:linear-gradient(top,#008800,#037103);
color:white;
font:normal bold 12px Arial,Sans-Serif;
text-transform:none;
text-shadow:0 1px 2px black;
}

ul.spy {
margin:0 0;
padding:0 0;
font:normal normal 10px/12px Arial,Sans-Serif;
color:#333;
overflow:hidden;
}

ul.spy li {
list-style:none;
text-align:left;
margin:0 0;
padding:5px 7px;
background-color:#AABD30;
background-image:-webkit-linear-gradient(top,#AABD30,#9BB009);
background-image:-moz-linear-gradient(top,#AABD30,#9BB009);
background-image:-ms-linear-gradient(top,#AABD30,#9BB009);
background-image:-o-linear-gradient(top,#AABD30,#9BB009);
background-image:linear-gradient(top,#AABD30,#9BB009);
border-top:1px solid #A7D101;
border-bottom:1px solid #899D00;
word-wrap:break-word;
overflow:hidden;
}

ul.spy a {text-decoration:none}

ul.spy li em {
font-weight:bold;
color:#409540;
}

ul.spy a.header {
font:normal bold 12px/14px 'Trebuchet MS',Trebuchet,Geneva,Arial,Sans-Serif;
display:block;
color:yellow;
text-shadow:0 1px 0 rgba(0,0,0,.2);
}

ul.spy a.header:hover {
color:white;
text-decoration:underline;
}

ul.spy li .summ {
margin-top:5px;
overflow:hidden;
}

ul.spy li .imgwrap,
ul.spy li img {
float:right;
margin:0 0 2px 7px;
width:72px;
height:72px;
border:4px solid #899D00;
background:white url('http://reader-download.googlecode.com/svn/trunk/images/loading-white.gif') no-repeat 50% 50%;
padding:0 0;
}

ul.spy li .imgwrap {
-webkit-box-shadow:0 0 2px rgba(0,0,0,.7);
-moz-box-shadow:0 0 2px rgba(0,0,0,.7);
box-shadow:0 0 2px rgba(0,0,0,.7);
}

ul.spy li img {
border:none !important;
float:none;
margin:0 0;
padding:0 0;
display:none;
}
</style>
<script type='text/javascript'>
var spyTitle = "Artikel Terbaru",
numposts = 7,
numchars = 127,
komentar = "Komentar",
pBlank = "http://2.bp.blogspot.com/-11FkySHGB5Y/TpZ6SSbsF2I/AAAAAAAAA94/zK10UaL7jgo/s72-c/images.jpeg",
modeID = true,
showSummaries = true,
openNewTab = false,
showPostDate = true,
showComment = true,
showThumbnails = true,
animatedRecentPost = true,
limitspy = 4,
intervalspy = 4000,
tickspeed = 1000;
</script>
<script type="text/javascript" src="http://reader-download.googlecode.com/svn/trunk/rp-spy-whatever-v1.js"></script>
<script src="http://nama_blog.blogspot.com/feeds/posts/summary?orderby=published&alt=json-in-script&callback=rp"></script>

Ganti URL http://nama_blog.blogspot.com dengan alamat blog Anda lalu simpan.

Pilihan

OpsiKeterangan
spyTitleDigunakan untuk menentukan judul widget.
numpostsDigunakan untuk menentukan jumlah posting yang akan ditampilkan.
numcharsDigunakan untuk menentukan jumlah karakter ringkasan posting.
komentarDigunakan untuk menentukan teks jumlah komentar (contoh: 7 Komentar).
pBlankURL gambar yang ada di dalamnya adalah gambar cadangan yang hanya akan tampil pada posting tidak gambar.
modeIDJika bernilai true, sistem bulan terbit akan menjadi berbahasa Indonesia. Jika bernilai false sistem bulan terbit akan berubah menjadi berbahasa Inggris.
showSummariesJika bernilai true, ringkasan posting akan ditampilkan. Jika bernilai false ringkasan posting akan ditampilkan termasuk bulan terbit dan jumlah komentar.
openNewTabJika bernilai true, setiap tautan akan terbuka pada tab/jendela baru. Jika bernilai false, setiap tautan akan terbuka pada tab/jendela yang sama.
showPostDateJika bernilai true, bulan terbit akan ditampilkan. Jika bernilai false bulan terbit akan disembunyikan.
showCommentJika bernilai true, jumlah komentar akan ditampilkan. Jika bernilai false jumlah komentar akan disembunyikan.
showThumbnailsJika bernilai true, gambar mini akan ditampilkan. Jika bernilai false gambar mini akan disembunyikan.
animatedRecentPostJika bernilai true, efek animasi news ticker akan diterapkan. Jika bernilai false, efek animasi news ticker akan hilang.
limitspyTentukan jumlah minimal posting yang tampil saat efek animasi diaktifkan.
intervalspyTentukan seberapa lama interval animasi perpindahan daftar dari daftar satu ke daftar berikutnya saat efek animasi diaktifkan.
tickspeedTentukan kecepatan animasi saat efek animasi diaktifkan.
Kode yang Saya beri garis bawah adalah JQuery. Jika template Anda sudah dilengkapi dengan JQuery, singkirkan kode tersebut!

Kamis, 23 Februari 2012

Popup Formulir Komentar Blog dengan JQuery

Mengingat cara ini sedikit sulit, Saya sudah membuat versi ringkasnya di sebuah artikel baru. Semoga cara yang satu ini lebih mudah: Menyelesaikan Masalah JQuery Popup Formulir Komentar Blogger

Popup Formulir Komentar Blog dengan JQuery

Saya mencuri desainnya dari panel kontrol Blogger hehe. Anda pasti selalu ingat saat sedang mengunggah gambar atau mengedit template atau mengubah pengaturan blog. Seringkali Anda akan berhadapan dengan jendela munculan yang Saya rasa sangat menarik jika bisa kita terapkan pada formulir komentar sebuah blog.

Meski sedikit sulit, tapi sebenarnya ada beberapa hal yang umum ditemui dalam template blogspot sehingga keseragaman itu bisa meringankan kerja kita.

Pertama-tama masuklah ke halaman editor HTML template Anda kemudian cek Expand Template Widget agar seluruh widget bisa dijabarkan.

Setelah itu temukan kode yang tampak seperti ini:

<div id='comment-form' class='comment-form'>

Atau mungkin Anda juga akan menemukan kode yang berbeda seperti ini:

<div id='respond'>

Tip: Tekan CTRL + F kemudian ketik 'comment-form' atau 'respond' untuk mempermudah pencarian.

Jika sudah ketemu, tambahkan kelas pop-form di samping kelas yang sudah ada seperti ini:

<div id='comment-form' class='comment-form pop-form'>

Atau jika tidak terdapat kelas tambahkan atribut class='pop-form' pada elemen tersebut seperti ini:

<div id='respond' class='pop-form'>

Fokuslah pada kode yang Anda temukan tersebut. Pada bagian atas tambahkan kode ini:

<button class='openform'>Poskan Komentar</button>

dan di bagian bawahnya sisipkan kode ini:

<a class='close' href='#'>&#215;</a>

Sehingga hasilnya menjadi seperti ini:

<button class='openform'>Poskan Komentar</button>
<div id='comment-form' class='comment-form pop-form'>
<a class='close' href='#'>&#215;</a>
...
...
...
</div>

Lakukan hal yang sama pada elemen-elemen sejenis yang Anda temukan berikutnya.

Setelah itu temukan kode ini:

]]></b:skin>

Salin kode CSS di bawah ini kemudian letakkan tepat di atas kode ]]></b:skin>:

.pop-form {
position:relative;
width:470px;
height:370px;
padding:30px;
background:white url('http://4.bp.blogspot.com/-WUW67PkelvY/T0ZiitlF2mI/AAAAAAAACMc/ppKAVJUatRU/s1600/loading-32-v1.gif') no-repeat 50% 50%;
border:1px solid #ccc;
-webkit-box-shadow:0 1px 17px -3px rgba(0,0,0,.4);
-moz-box-shadow:0 1px 17px -3px rgba(0,0,0,.4);
box-shadow:0 1px 17px -3px rgba(0,0,0,.4);
overflow:hidden;
}

.pop-form iframe {
max-width:none !important;
height:370px !important;
background-color:white !important;
background-image:none !important;
overflow:auto !important;
}

.pop-form a.close {
display:block;
position:absolute;
top:12px;
right:17px;
z-index:7;
text-decoration:none;
color:#666;
font:normal bold 18px/normal Arial,Sans-Serif;
background:none;
border:none;
outline:none;
}

#whitelay {
position:fixed !important;
position:absolute;
top:0;
right:0;
bottom:0;
left:0;
width:100%;
height:100%;
background-color:white;
opacity:.7;
filter:alpha(opacity=70);
}

button.openform {
cursor:pointer;
border:1px solid #d8d8d8;
padding:7px 12px;
font:normal bold 11px/normal Arial,Sans-Serif;
color:#555;
background-color:#f5f5f5;
background-image:-webkit-linear-gradient(top,#f4f4f4,#f1f1f1);
background-image:-moz-linear-gradient(top,#f4f4f4,#f1f1f1);
background-image:-ms-linear-gradient(top,#f4f4f4,#f1f1f1);
background-image:-o-linear-gradient(top,#f4f4f4,#f1f1f1);
background-image:linear-gradient(top,#f4f4f4,#f1f1f1);
margin:15px 0;
-webkit-border-radius:3px;
-moz-border-radius:3px;
border-radius:3px;
}

button.openform:hover {
background-color:#f4f4f4;
background-image:-webkit-linear-gradient(top,#f9f9f9,#f1f1f1);
background-image:-moz-linear-gradient(top,#f9f9f9,#f1f1f1);
background-image:-ms-linear-gradient(top,#f9f9f9,#f1f1f1);
background-image:-o-linear-gradient(top,#f9f9f9,#f1f1f1);
background-image:linear-gradient(top,#f9f9f9,#f1f1f1);
border-color:#bbb;
-webkit-box-shadow:0 2px 0 rgba(0,0,0,.04);
-moz-box-shadow:0 2px 0 rgba(0,0,0,.04);
box-shadow:0 2px 0 rgba(0,0,0,.04);
-webkit-transition:all .26s ease-out;
-moz-transition:all .26s ease-out;
-ms-transition:all .26s ease-out;
-o-transition:all .26s ease-out;
transition:all .26s ease-out;
}

button.openform:focus,
button.openform:active {
background-color:#ddd;
background-image:none;
-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
-moz-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
}

Lalu temukan kode ini:

</head>

Salin kode ini dan letakkan di atasnya:

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript'>
//<![CDATA[
$(function() {

// Atur posisi kotak dialog dengan JavaScript
$('div.pop-form').css({
'position' :'fixed',
'top' :'50%',
'left' :'50%',
'margin-left' :-($('div.pop-form').outerWidth()/2),
'margin-top' :-($('div.pop-form').outerHeight()/2),
'z-index' :9999,
'display' :'none'
}).find('iframe').hide();

// Membuka kotak dialog
$('button.openform').click(function() {
$('body').append('<div id="whitelay"></div>');
$('div.pop-form').fadeIn('fast', function() {
$('iframe', this).delay(1600).fadeIn('fast');
});
return false;
});

// Menutup kotak dialog
$('div.pop-form a.close').click(function() {
$(this).parent().hide();
$('#whitelay').remove();
return false;
});

});
//]]>
</script>

Kode yang Saya beri garis bawah adalah JQuery. Jika template Anda sudah dilengkapi dengan JQuery, singkirkan kode tersebut!

Klik Simpan Template. Seharusnya sekarang sudah jadi.