Pic By : Dantearaujo.net
Senin, 31 Mei 2010
BloggerTube
Pic By : Dantearaujo.net
Minggu, 30 Mei 2010
Widget Finding Similar Content In Wikipedia
Similpedia merupakan proyek dari www.similario.com. Konten Internet berkembang dengan kecepatan yang luar biasa - jutaan blog, ribuan kantor berita melakukan apa yang mereka lakukan yang terbaik - penghasil konten. Sebuah tantangan yang masih ada adalah menemukan konten yang relevan terbaik yang cocok dengan apa yang pengguna cari, cepat dan akurat sementara menaruh kesegaran konten dan pengalaman pengguna yang menguntungkan. Similario berkomitmen untuk mengambil tantangan itu dan memberikan solusinya. Semoga berjalan scriptnya jika aku simpan dipostingan ini, sekalian contoh :D
Klik dan buatlah widget konten terkait sobat sendiri Website Widget.
Jumat, 28 Mei 2010
Link to a Page Using Google AJAX Search
Kalau sudah baca versi løndønë ¢σмє тσ fαfαн guna mendapatkan versi ѕι-вloglang™ :"> Inti dari ßøøkmå®k ini tercipta tidak lain untuk memudahkan pencarian kata (textareas) yg relevan ketika kita melakukan grab pada kata yg dicari :-" Bookmark ini ternyata hanya berfungsi pada blog berbasis blogspot, tatkala kita sedang memosting (waktu membuat satu buah postingan di editor post / pas ngedit post mau update) b-) Maka akan muncul disisi kanan beberapa link rujukan apa kata yg dicari tadi (yang digrab katanya) How to do that...:D Tinggal drag link berikut di address bar/bookmark toolbar sobat ;) Sampai jumpa lagi diartikel pilihan selanjutnya :D :-h
Kamis, 27 Mei 2010
Cloud Zoom on Blog
Cloud Zoom adalah sebuah plugin jQuery sebanding dengan gambar zoom produk komersial seperti Magic Zoom. Nah kalau mau lebih sempurna contohnya silahkan klik duyu tombol read morenya, terus tunggu sampe beres lagi...:))
Blogger Mastering
Introduce sob Blogger Mastering please visit there b-) good blog.
Rabu, 26 Mei 2010
Get Free Backlinks
http://beben-koben.blogspot.com|Prodigy of Head
Kalau blog baru boleh juga nih trik seperti ini ;) Selain mudah dan tentunya cepat terindeks deh :p Untuk bonusnya, ini Beben kasih yg butuh cari-cari MP3 :P Susah cari artikel yg gaya lagi :(
Artist/Title:
Selasa, 25 Mei 2010
Interesting in Rich Snippets and How Do It
Dengan menggunakan snippet (potongan) kecil yg kita anggap tak berguna ini, ternyata google menaruh perhatian yg khusus untuk satu hal ini. Microformats ini tidak sama keberadaannya dengan semantic web Cubicgarden. Apalagi dengan adanya microblogging atau web via phone, patut nih kita perhatikan untuk satu hal ini ;)) Yang mengejutkan ternyata trik ini saling berkaitan dg google custome search sob :) Mau menerangkan aku jg tidak paham, ya sudah pahami dan renungkan saja hasil ngebloglang kali ini ya sob :-" Ada baiknya coba sobat perhatikan URL salah satu postingan yg belum disnippets dan masukan Webmaster Tools. Ini contoh yg Beben lakukan pada blognya master Doyok ;)) pada link postnya yg berjudul Cara Mendaftar Google Analytics Untuk Evaluasi Blog. Ini postingan aku yg sebelumnya...:D walau masih ada warning sih :-s Silahkan memasuki halaman berikut untuk mengetahui apa, bagaimana dan fungsi dari hNews itu Tech and Law. Perhatikan pada point...How to add basic hNews to a Blogger blog - tutorial.
Bagaimana :-? Tertarik menggunakan Rich Snippets, sign up on Webmaster Tools Help. Coba sobat yg benar² mau berseo ria ada baiknya membaca dasar perintah google dalam melakukan search Custom Search, dan lanjutkan membaca mengenai dasar dari trik snippets ini knol.google ini salah satu contoh dari hasil dan struktur snippets Webmaster Tools Help dan uji hasil trik ini Webmaster Tools dan ini hasil Beben si bloglang ganteng kalem dalam memasang trik ini cek gi dot. Untuk mengaplikasikan hAtom pada blogger Singpolyma. Cawww...:-h
Make Your URL Shortener
Semua link yg sudah diphrase akan diawali dengan http://is.gd/... Support dan mendukung pada firefox plugin, Mac OS X, webOS. Satu yg bikin gaya dari layanan web ini, kita dapat menyimpan link dalam bentuk script dan kita dapat langsung mendapatkan URL Shortener :-bd Hanya dengan menanamkan link seperti itu kita sudah dapat membuat link yg panjang menjadi pendek sob ;))<a href="javascript:void(location.href='http://is.gd/create.php?longurl='+encodeURIComponent(location.href))">Your Title Here</a>
Simpan syntax link tadi ditemplate sobat sesuai dengan keinginan dan pantas :D Happy blogging with Beben bloglang ganteng kalem :P
Senin, 24 Mei 2010
Feature CSS3 Transitions, Transforms, Animation
- Hover Efek ketika kita menyorot sebuah link.
- Active Efek tatkala mengklik link.
- All in one Bersatunya efek disatu tag kode CSS untuk link.
Minggu, 23 Mei 2010
LK Magazine V2 Premium
- 4 Kolom | 3 sidebars | sidebar kanan | kiri sidebar
- Auto Read More Feature with Thumbnails.
- 468*60 Header Ads banner
- 468 * 60 Header Logo dengan file PSD dan Font.
- 1 CSS Search Box
- Footer 3 Kolom bagian
- Tombol Bookmarking Sosial / badge instal
- SEO friendly blogger hack judul
- Default Blogger Tag Pos SEO friendly
- Meta tag diinstal
- Top Bar dengan tombol Feed dan Tampilan Hari, Bulan, Tahun
- Gratis
- Favicon support sehingga sobat dapat menambahkan ikon url sobat sendiri
- CSS Compressed untuk mempercepat load halaman
- Embedded JavaScript menampilkan kode tanggal hari saat ini
- Built-in Related Posts Widget untuk menampilkan posting Terkai
- Navigasi bernomor Page Hack installed
- Navigasi Breadcrumbs Hack installed
- Older Posts, Home, New Posts Teks Navigasi dengan Gambar
- Komentar Dimodifikasi Bagian Aktifkan Avatar di Komentar Blogger
- Many more ...
Sabtu, 22 Mei 2010
Brainy Bookmarklet Links
Setelah BW ternyata bookmark ini banyak fungsinya sob dalam perjalanan perkembangannya. Tidak sekedar sebagai menyimpan link atau apapun tapi bisa berfungsi gaya :)) b-) Seperti biasa Beben si bloglang ganteng kalem tea :P kembali membawa informasi pilihan mengenai bookmark ini. Untuk membaca dari sebuah web biar lebih full stylish, mengeprint, memberikan info dll nih Beben dapet ;) jQuerify « drag to your bookmarks bar Google Dictionary Drag the link to your browser bookmark toolbar. Fast Tweet Drag the link to your browser bookmark toolbar. Auto Translate Drag the link to your browser bookmark toolbar. RedDIV Drag the link to your browser bookmark toolbar. NoFollow Drag the link to your browser bookmark toolbar. Try it on this page:
LOOK IN MODE MOBILE OKAY!!! <a href="javascript: (function(){var head=document.getElementsByTagName('head')[0],script=document.createElement('script');script.type='text/javascript';script.src='http://www.my.com/your-javascript.js?' + Math.floor(Math.random()*99999);head.appendChild(script);})(); void 0">Your Bookmarklet Name</a>
javascript: (function(){function getSel() {var txt = '';if (window.getSelection) {txt = window.getSelection();} else if (document.getSelection) {txt = document.getSelection();} else if (document.selection) {txt = document.selection.createRange().text;} else return;var s = txt.toString();return s;}var u = 'http://www.similpedia.org/engine';var sel = getSel();if (sel.length == 0) { sel = location.href; } nD = window.open().document; nD.writeln('<HTML><HEAD></HEAD><BODY>'); nD.writeln('<FORM NAME=form ACTION=' + u + ' METHOD=POST>'); nD.writeln('<TEXTAREA name=q>' + sel + '</TEXTAREA>'); nD.writeln('<INPUT TYPE=SUBMIT NAME=Submit VALUE=Submit></INPUT>'); nD.writeln('</FORM>'); nD.writeln('<SCRIPT>document.form.submit();</SCRIPT>'); nD.writeln('</BODY></HTML>'); nD.close();})()"
javascript: (function(){try{var url=encodeURIComponent(location.href);var ifr=document.createElement('iframe');ifr.style.position='absolute';ifr.style.top=10+'px';ifr.style.left=10+'px';ifr.style.width=450+'px';ifr.style.height=100+'px';ifr.style.border='none';ifr.src='http://www.facebook.com/plugins/like.php?href='+url+'&show_faces=true&width=450&action=like&colorscheme=light';ifr.scrolling='no';ifr.frameborder=0;document.getElementsByTagName('body')[0].appendChild(ifr);var ifr=document.createElement('iframe');ifr.style.position='absolute';ifr.style.top=125+'px';ifr.style.left=10+'px';ifr.style.width=450+'px';ifr.style.height=100+'px';ifr.style.border='none';ifr.src='http://likeomatic.heroku.com/i';ifr.scrolling='no';ifr.frameborder=0;document.getElementsByTagName('body')[0].appendChild(ifr);}catch(e){}})();
javascript: (function(){function%20l(u,i,t,b){var%20d=document;if(!d.getElementById(i)){var s=d.createElement('script');s.src=u;s.id=i;d.body.appendChild(s)}s=setInterval(function(){u=0;try{u=t.call()}catch(i){}if(u){clearInterval(s);b.call()}},200)}l('http://leftlogic.com/js/microformats.js','MF_loader',function(){return!!(typeof MicroformatsBookmarklet=='function')}, function(){MicroformatsBookmarklet()})})();
javascript: (function(){var%20s=document.createElement('script');var%20t=new%20Date().getTime();s.setAttribute('type','text/javascript');s.setAttribute('class','ydebug');s.setAttribute('src','http://debug.yaml.de/debugger.js?d='+String(t));document.getElementsByTagName('head')[0].appendChild(s);})();
javascript:Ai7Mg6P='';for%20(i7M1bQz=0;i7M1bQz<document.images.length;i7M1bQz++){Ai7Mg6P+='<img%20src='+document.images[i7M1bQz].src+'><br>'};if(Ai7Mg6P!=''){document.write('<center>'+Ai7Mg6P+'</center>');void(document.close())}else{alert('No%20images!')}
javascript:var res = null; var ok_title = new RegExp('^del\.?icio\.?us links'); var ok_type = 'text/html';varres_css = 'padding-bottom:15px;'; var content_txt = 'This person\'s del.icio.us links can be seen at ';var content_css = 'margin-bottom:10px;border:1px solid #ccc;padding:5px;background-color:beige;';var doc = document;var list = doc.getElementsByTagName('link');var body = doc.getElementsByTagName('body')[0];for (var i = 0; i < list.length; i++) {var link = list[i]; if ((link.type == ok_type) &&(ok_title.test(link.title))) {var regexp_del = new RegExp('^(http:\/\/del\.icio\.us)\/(.*)$');var url_rss = link.href.replace(regexp_del,'$1/rss/$2');var html = doc.createElement('a');html.setAttribute('href',link.href);html.appendChild(doc.createTextNode(link.href)); rss = doc.createElement('a');rss.setAttribute('href',url_rss); res = doc.createElement('div'); res.setAttribute('style',res_css); var content = doc.createElement('div');content.setAttribute('style',content_css);rss.appendChild(doc.createTextNode('rss'));content.appendChild(doc.createTextNode(content_txt));content.appendChild(html);content.appendChild(doc.createTextNode(' ('));content.appendChild(rss);content.appendChild(doc.createTextNode(')')); res.appendChild(content); break;}} if (res) { void(doc.body.insertBefore(res,doc.body.firstChild)); } else {alert('no del.icio.us links'); }
Be a creatif, build your blog with your style GAYA \m/
Jumat, 21 Mei 2010
Google Blow Up
Sudah membuka open source font, eh keluar informasi lagi google berencana untuk memperkenalkan Google TV :x Bagaimana om YouTube menerangkan dalam versinya YouTube. Dari Official Google Blog loncat ke Google Code Blog takut kurang penjelasannya TechCrunch. Kayaknya bakal terealisasikan nih TV Google ini sob (*) Kalau sudah capek-capek loncat kesana kemarinya saatnya membaca sejarah dari Google TV ini Android Developers Blog.
Rabu, 19 Mei 2010
Creating Multicolumn Lists using CSS
Artikel di bagian kiri. Ini blog aku Prodigy of Head. | Artikel di bagian kanan. Ini blog aku Ben Tools. |
Pada default kode list, kalau kita menggunakannya akan menghasilkan baris yg terus kebawah toh :D Adapun tag list ini seperti berikut...
Kalau kita menulis <ul>bla...bla</ul> atau <ol>bla...bla</ol> pasti akan kebawah dan terus kebawah ;)) Ini Customize Bullet List Style With Image Hover Effect In Blogger. Bagaimana supaya list ini tidak menjulur kebawah dan bisa seperti postingan master Doyok, menjadi 2 bagian :-bd Silahkan kawan mengunjungi ke Creating Multi-column Lists using CSS. Buka halaman tersebut guna mendapatkan tutorialnya.<ul>
<li>Coffee</li>
<li>Milk</li>
</ul>
<ol>
<li>Coffee</li>
<li>Milk</li>
</ol>
Pasti pada CSS template sobat sudah pada punya kode ini. Nah kalau sobat sudah membaca artikelnya, carilah kode CSS list ini pada blog sobat. Cari kode ul dan li pada bagian postingan. Bisa .post ul { bisa ul { ajah...pokoknya cari ul dan li yg pd bagian postingan. Kalau sudah ketemu dg kodenya, tambahkan saja kode yg belum ada pada artikel tadi Creating Multicolumn Lists using CSS.
See you again with bloglang ganteng kalem with gaya article anymore :)) :-h
Senin, 17 Mei 2010
Special FeedBurner for Blogger
Sekilas memang tidak ada yg berubah dari hack ini sob :D Soalnya ini berinterkasi langsung dengan engine yg dimiliki antara blogspot sendiri dengan engine feedburner @-) Lah!!! bagaimana kita Lah ini loh fungsi dari hack ini. Coba sobat perhatikan baik-baik dari kode-kode yg tidak ada tatkala kita melakukan view source sesuai dengan yg tertera pada artikel 2 master kita itu??? Apa sobat menemukan kode berikut...tahu apa fungsi dari hack ini :-/ Tenang, mana ada master sekonyong-konyong ngeluarin hack kalo tidak ada fungsinya ;) Kalau mau lihat tutorial dalam versi kita silahkan kunjungi blognya kang Jaloe Memindahkan Blog Feed Ke FeedBurner, dan ini versi kerennya All Feeds by Feedburner.<link href='http://feeds.feedburner.com/yourFEEDname' rel='alternate' title='RSS' type='application/atom+xml'/>
Itu kode yg tidak akan sobat temukan dikala sobat belum mengganti kode bawaan dari blog...
Tau dong fungsi dr feedburner? Secara kasarnya ini fasilitas yg memberikan jasa untuk web/blog kita dapat dibaca pada versi lain. Nah tidak diragukan keberadaan feedburner sendiri sebagai penyedia format application/rss+xml sudah tersebar kemana-mana. Facebook, digg, technorati, dll selalu menggunakan link feed untuk mengimport salah satu web/blog sebagai syaratnya. Intinya...Jika kita merubah kode bawaan dari blog dan merubahnya dengan hack ke-2 master kita tuh, maka secara otomatis segala yg berurusan dg feedburner telah 100% dilakukan oleh engine feedburner itu sendiri
Jika mau melihat aksi langsung dari hack ini! Bilamana ada dari sobat yg menggunakan salah satu web jejaring dan otomatis terkirim ke email dalam verifikasinya, maka akan tampak aksi dari hack ini.
Adios amigos permios...semoga bermanfaat walau sedikit bingung, yg penting ngeblog jalan terus. SALAM BLOGGER \m/
Minggu, 16 Mei 2010
Browser Mini Gitu Loh
- Facebook Mobile Walau setelah masuk tampilannya jauh amat dengan full sizenya FB, tapi yaaa lumayan lah sob :D
- Facebook Touch
- YouTube Mobile Sudah FB-an terus twitteran, saatnya masukin video sodara sodaraaaaa...ke YouTube.
- Yahoo! Jangan lupa membaca berita dong kalau bermain internetan tuh. Kan untuk kita-kita juga tuh wawaasan :)
- Yahoo! Masa baca informasi dari yahoo! gak sambil chatingan di yahoonya sendiri sih ;))
Kalau kurang sreug dengan yg ono, ini masih ada sob...
Rada mendingan kan tampilannya sob ;))
Master Abu Farhan is Back
Sabtu, 15 Mei 2010
Yao @ Blog from China
Tadinya melihat tampilan dari blognya biasa saja sob, pas menjamah lebih dalam memasuki kebagian kategori...e do do e ada yg gaya punya b-) Di bagian sisi kiri judul postingan setelah masuk ke bagian kategori ada expand/widget trick yg notabene Beben Beri sambutan hangat pada sobat kita dari china introduce Yao @ blog. Klik disini guna masuk ke hack-hack yg dimilikinya sob :D Yao @ blog hack. Dadah...:-htahu dari Annie pemilik BlogU blog :) Ternyata bisa dipakai dijudul juga triknya ;)) :">
Jumat, 14 Mei 2010
Like it? Tweet it! for Blogger, WordPress, Tumblr
Widget jebolan dari pongsocket ini memang bergaya dan good punya :-bd Didasarkan dengan Twitter’s new API menghindari dari auto tweet pada artikel yg akan di retweet :PInstallation
Salam and happy blogging \m/ See you :-h
Kamis, 13 Mei 2010
Panoramio Widgets For Blog
Rabu, 12 Mei 2010
Asterpix SearchLight Program Application
Hadir dengan beberapa format dan warna serta dapat memasukkan adsense google yg sobat miliki kedalamnya memberikan nilai lebih dari layanan ini. Impressions served saat ini sebanyak 1,286,140,031 :-O Yang sobat butuhkan adalah sebuah situs weblog dengan konten yang dapat diterima dan URL yang valid :D Free coy free...=P~
Sign-up disini untuk mendapatkan feature web ini :D Kalau mau lihat demonya langsung saja berkunjung ke yg punya informasi.Source by : TipsoTricks
Post Includable Part II
The Post Title
The post title atau judul dari postingan. Judul postingan ini biasanya ditampilkan dalam bentuk hyperlink yg apabila diklik akan memasuki ke link yg dituju :D Kalau tidak ada yaa tidak akan masuk kemana-mana alias menjentul :"> Kode pada the title post...<h1 class='post-title'>
<b:if cond='data:_post.link'>
<a expr:href='data:_post.link'><data:_post.title/></a> <!-- External link -->
<b:else/>
<b:if cond='data:_post.url'>
<a expr:href='data:_post.url'><data:_post.title/></a> <!-- Post permalink -->
<b:else/>
<data:_post.title/> <!-- Post title without a link -->
</b:if>
</b:if>
</h1>
</b:if>
Post Body
Badan post kali yak :P Pada bagian ini dikemas dengan sebuah elemen "P"<p><data:_post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
Post Footer Line 1
Struktur dari baris post footer ini sbb :<span class='post-author'>Authorname</span>
<span class='post-timestamp'>Timestamp</span>
<span class='post-comment-link'>Commentlink</span>
<span class='post-icons'>Email Icon and QuickEdit Pencil</span>
</p>
Authorname
Widget blog yg dikonfigurasikan untuk menampilkan nama dari si penulis. Label default pada kode ini biasanya bertuliskan "Posted by"<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/> <data:_post.author/>
</b:if>
</span>
Jadi bagi sobat yg mau ganti tulisan Posted by ya cari kode itu, yihaaa :-"
Timestamp
Widget blog yg dikonfigurasi untuk menampilkan waktu. Disertai permalink yg menuju hanya pada halaman tertentu.<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:_post.url'>
<a class='timestamp-link' expr:href='data:_post.url' title='permanent link'><data:_post.timestamp/></a>
</b:if>
</b:if>
</span>
Kode diatas menampilkan teks/label pada permalink. Default teksnya biasanya "at" atau "di" :D
Commentlink
Segala yg berbau komentar ya diatur oleh perintah ini sob :)<b:if cond='data:blog.pageType != "item"'> <!-- if the page is NOT an itempage, display the link -->
<b:if cond='data:_post.allowComments'> <!-- if the post allows comment to be made, display the link -->
<a class='comment-link' expr:href='data:_post.addCommentUrl' expr:onclick='data:_post.addCommentOnclick'>
<b:if cond='data:_post.numComments == 1'>1 <data:top.commentLabel/>
<b:else/><data:_post.numComments/> <data:top.commentLabelPlural/>
</b:if>
</a>
</b:if>
</b:if>
</span>
Default teks/label dari komentar ini "comments" Pusing neranginnya ah ;)) Pokoknya yg bersangkut paut dg komentar ada pada kode itu.
Email Icon and QuickEdit Pencil
Post icon ini ada dua, email dan pensil :P Biasanya link pada post yg berupa gambar email kecil serta quick edit yg digambarkan oleh icon pensil.<!-- email post links -->
<b:if cond='data:_post.emailPostUrl'>
<span class='item-action'>
<a expr:href='data:_post.emailPostUrl' expr:title='data:top.emailPostMsg'>
<span class='email-post-icon'> </span>
</a>
</span>
</b:if>
<!-- quickedit pencil -->
<b:include data='post' name='postQuickEdit'/>
</span>
Post Footer Line 2
Garis post ini tak lain yg menampilkan label pada postingan. Secara default biasanya bertuliskan "labels"<b:if cond='data:_post.labels'> <!-- if the post has labels, display them -->
<data:_postLabelsLabel/>
<b:_loop values='data:_post.labels' var='label'> <!-- loop through all labels -->
<a expr:href='data:_label.url' rel='tag'><data:_label.name/></a>
<b:if cond='data:_label.isLast != "true"'>,</b:if> <!-- if there is another label, display a colon as separator -->
</b:_loop>
</b:if>
</span>
Post Footer Line 3
Pada baris ini kosong, dan biasanya untuk mempermudah kita mengedit pada icludable.Styling classes
Macam gaya classes yg sering digunakan dalam includable.Class |
---|
post |
post-title |
post-header-line-1 |
post-body |
post-footer |
post-footer-line |
post-footer-line-1 |
post-author |
post-timestamp |
timestamp-link |
post-comment-link |
comment-link |
post-icons |
item-action |
email-post-icon |
post-footer-line-2 |
post-labels |
post-footer-line-3 |
Prodigy of Head |
Blogger Data Tags
Daftar tag data yg sering dipakai dalam includable ini.Data Tag | Description |
---|---|
data:top.showAuthor | 'true' if the Blog Widget is configured to show the author name |
data:top.authorLabel | the phrase preceding the author name (default value: 'Posted by') |
data:top.showTimestamp | 'true' if the Blog Widget is configured to show the timestamp |
data:top.timestampLabel | the phrase preceding the timestamp (default value: 'at') |
data:top.commentLabel | the phrase showing the number of comments, single (default value:'comment') |
data:top.commentLabelPlural | the phrase showing the numer of comments, plural (default value:'comments') |
data:blog.pageType | the type of the current page |
data:_post.id | the unique id-number of the post |
data:_post.title | the post title |
data:_post.link | the url of the (external) webpage the post is pointing to |
data:_post.url | the post permanent lnk |
data:_post.body | the post body |
data:_post.timestamp | the post timestamp |
data:_post.allowComments | 'true' if making comments is allowed for this post |
data:_post.addCommentUrl | the url of the comments form |
data:_post.addCommentOnclick | - |
data:_post.numComments | the number of comments on this post |
data:_post.emailPostUrl | the url of the email form |
data:_post.emailPostMsg | the tooltip message of the email icon link |
data:_post.labels | the list of labels assigned to the post |
data:_postLabelsLabel | the phrase preceding the list of labels (default value: 'Labels:') |
data:_label.url | the url of the page listing all posts with this label |
data:_label.name | the name of this label |
data:_label.isLast | 'true' if this label is the last one of the list |
Selasa, 11 Mei 2010
Post Includable Part I
<b:includable id="name" var="data">
...
...
</b:includable>
- id = unik/nama id
- var = optional dari id, mungkin variabel ya ;))
- <b:includable id='backlinks' var='post'>
- <b:includable id='post' var='post'>
- <b:includable id='comment-form' var='post'>
- ...
Widget Type | Includable id | Includable var |
---|---|---|
Blog | backlinkDeleteIcon | backlink |
... | backlinks | post |
... | commentDeleteIcon | comment |
... | comments | post |
... | feedLinks | --- |
... | feedLinksBody | links |
... | main | top |
... | nextprev | --- |
... | post | post |
... | postQuickEdit | post |
... | status-message | --- |
BlogArchive | flat | data |
... | interval | intervalData |
... | main | --- |
... | menu | data |
... | posts | posts |
... | toggle | interval |
Header | main | --- |
Label | main | --- |
Profile | main | --- |
Struktur includable pada main post.
Pada umumnya struktur pada bagian utama postingan ini memiliki bentuk...<a name='post-id'/>
<h1 class='post-title'>Post Title</h1>
<div class='post-header-line-1'/>
<div class='post-body'>
<p>Post Body</p>
</div>
<div class='post-footer'>
<p class='post-footer-line post-footer-line-1'>Author Timestamp Comments Email Edit</p>
<p class='post-footer-line post-footer-line-2'>Labels</p>
<p class='post-footer-line post-footer-line-3'/>
</div>
</div>
Kalau ada kode dg menggunakan "ID" maka ini berlaku untuk ID itu saja, kalau untuk kode dg menggunakan "CLASS" ini bisa dipanggil berkali-kaliKembali pada kode struktur diatas tadi :) Pada struktur diatas disatukan (dikemas) menggunakan html DIV-element. Pada bagian judul post terkemas dalam tag <h1> Kode yg berwarna hijau, baris kosong pada bagian header, dimana pd default blogger tidak ditemukan dan akan ada pada template modifikasi :D Masuk ke bagian footer sobat melihat ada 3 baris pos (post-footer-line) Biar cepet penjelasannya ;) ketiga baris pos yg dimaksudkan diatas itu secara garis besar nama author, label postingan, dan kosong satu guna mempermudah dalam pengeditan template disaat sobat berada pada Editor Template. Kalau sudah mahir kita dapat bermain-main dg ke-3 kode baris pos tsb! Masih ingat dong dg keistimewaan "CLASS"
UPDATE Click to expand hereClick to expand here
Cases | Want \ Do | Replace MY FIRST LINE CODE with |
---|---|---|
1 | Bagaimana menampilkan gadget hanya pada home page blogger. (Cara menyembunyikan gadget dari halaman statis dan halaman posting di blogger) | <b:if cond='data:blog.pageType == "index"'> |
2 | Bagaimana menampilkan gadget hanya pada halaman posting blogger (Cara menyembunyikan gadget dari home page dan static page di blogger). | <b:if cond='data:blog.pageType == "item"'> |
3 | Bagaimana menampilkan gadget hanya pada halaman statis dari blogger. (Cara menyembunyikan gadget dari halaman rumah dan halaman posting di blogger) | <b:if cond='data:blog.pageType == "static_page"'> |
4 | Bagaimana menampilkan gadget pada halaman posting dan halaman statis blogger (Cara menyembunyikan gadget dari halaman rumah di blogger) | <b:if cond='data:blog.pageType != "index"'> |
5 | Bagaimana menampilkan gadget di halaman rumah dan halaman statis dari blogger. (Cara menyembunyikan gadget dari halaman posting di blogger) | <b:if cond='data:blog.pageType != "item"'> |
6 | Bagaimana menampilkan gadget pada halaman rumah dan halaman posting blogger. (Cara menyembunyikan gadget dari halaman statis di blogger) | <b:if cond='data:blog.pageType != "static_page"'> |
7 | How to display gadgets only on archive pages of blogger. | <b:if cond='data:blog.pageType == "archive"'> |
8 | Bagaimana menampilkan gadget hanya pada halaman arsip blogger. | <b:if cond='data:blog.url == "Your_URL_Here"'> |
9 | Bagaimana menampilkan gadget hanya pada halaman tertentu blogger. | <b:if cond='data:blog.url != "Your_URL_Here"'> |
See you...:-h
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
<head>
<data:blog.pageTitle/> inserts the name of the Blog from your template settings.
/*
* Blogger Template Style
*
* Sand Dollar
* by Jason Sutter
* Updated by Blogger Team
*/
I'm not sure what the <![CDATA[ is doing. Perhaps enclosing the skin data?According to an anonymous commenter:
On <![CDATA[: That's simply making it so that they don't have to replace every instance of < with the < entity, since there are <Variable> XML-style declarations within the block. CDATA just tells XML not to parse the data within the block until it reaches the closing ]]>, when it resumes normal XML processing.
You can <![CDATA[]]> anywhere outside a tag in an XML document.
Note that the template has been "Updated by Blogger Team".
====================
<Variable name="textcolor" description="Text Color" type="color" default="#000" value="#000">
<Variable name="bgcolor" description="Page Background Color" type="color" default="#f6f6f6" value="#d2dbff">
<Variable name="pagetitlecolor" description="Blog Title Color" type="color" default="#F5DEB3" value="#cccccc">
<Variable name="pagetitlebgcolor" description="Blog Title Background Color" type="color" default="#DE7008" value="#006699">
<Variable name="descriptionColor" description="Blog Description Color" type="color" default="#9E5205" / value="#e6e6e6">
<Variable name="descbgcolor" description="Description Background Color" type="color" default="#F5E39e" value="#9eb0f5">
<Variable name="titlecolor" description="Post Title Color" type="color" default="#9E5205" value="#006699">
<Variable name="datecolor" description="Date Header Color" type="color" default="#777777" value="#993300">
<Variable name="footercolor" description="Post Footer Color" type="color" default="#444444" value="#444444">
<Variable name="linkcolor" description="Link Color" type="color" default="#DE7008" value="#DE7008">
<Variable name="footerlinkcolor" description="Post Footer Link Color" type="color" default="#968a0a" value="#3a9900">
<Variable name="visitedlinkcolor" description="Visited Link Color" type="color" default="#DE7008" value="#DE7008">
<Variable name="sidebarcolor" description="Sidebar Title Color" type="color" default="#B8A80D" value="#993300">
<Variable name="sidebarlinkcolor" description="Sidebar Link Color" type="color" default="#999999" value="#009949">
<Variable name="bordercolor" description="Border Color" type="color" default="#e0ad12" value="#006699">
<Variable name="bodyfont" description="Text Font" type="font"
default="normal normal 100% 'Trebuchet MS',Trebuchet,Verdana,Sans-Serif" value="normal normal 99% 'Trebuchet MS',Trebuchet,Verdana,Sans-Serif">
<Variable name="headerfont" description="Sidebar Title Font" type="font"
default="normal bold 150% Verdana,Sans-serif" value="italic bold 121% Verdana,Sans-serif">
<Variable name="dateHeaderFont" description="Date Header Font" type="font"
default="normal bold 105% 'Trebuchet MS',Trebuchet,Verdana,Sans-serif" value="normal bold 86% 'Trebuchet MS',Trebuchet,Verdana,Sans-serif">
<Variable name="pagetitlefont" description="Blog Title Font"
type="font" default="normal bold 300% Verdana,Sans-Serif" value="normal bold 270% Verdana,Sans-Serif">
<Variable name="titlefont" description="Post Title Font" type="font" default="normal bold 160% Verdana,Sans-Serif" value="normal bold 117% Verdana,Sans-Serif">
*/
Essentially, this is a place to store all of those font and color choices you can make in the Layouts.
Some of the template choices don't seem to have all of these options. I picked one with a lot of flexibility, and I get to set a lot of color and font options.
- Color of post text
- Page background color
- Title text color
- Title background color
- Heading description btextcolor
- Heading description background color
- Post title text color
- Post date header text color
- Post footer text color
- Post links text color
- Post footer links text color
- Post visited links text color
- Sidebar title text color
- Sidebar links text color
- The color of any borders
- The font of all of the text in the body
- The font of all of the text in the sidebar
- The font of the date headers
- The font of the blog title
- The font of post titles
That's a lot of flexibility.margin:0px;
padding:0px;
background:$bgcolor;
color:$textcolor;
font-size: small;
}
#outer-wrapper {
font:$bodyfont;
}
a {
color:$linkcolor;
}
... Lots o' deletions ...
/** Tweaks for layout editor preview */
body#layout #outer-wrapper {
margin-top: 0;
}
body#layout #main,
body#layout #sidebar {
margin-top: 10px;
padding-top: 0;
}
However, it is interesting to see the "variables" defined above showing up here in the styles.
For example, the body wrapper is defined with a background of "$bgcolor" and a text color of "$textcolor", both of which are defined above.
Then, at the bottom are some "Tweaks for layout editor preview." Setting some padding and margins, but I couldn't tell you why or what for.
</head>
<div id='outer-wrapper'><div id='wrap2'>
<span id='skiplinks' style='display:none;'>
<a href='#main'>skip to main </a> |
<a href='#sidebar'>skip to sidebar</a>
</span>
It's nice that the folks at Blogger are worried about text browsers, but how many text browsers are still out there and do I really care if they read my blog?Text browsers are valuable and necessary tools for the internet and Blogger are Mensa-level geniuses to include this code snippet in their template. (Please stop the harassment now.)
<b:section class='header' id='header' maxwidgets='1' showaddelement='no'>
<b:widget id='Header1' locked='true' title='FTTX News (Header)' type='Header'>
<b:includable id='main'>
<div class='titlewrapper'>
The <b:> tags are new, and appear to be a way to indicate information to Blogger (see more below). This one includes the ID entered in the layout (Header1) and the title (FTTX News) plus some Blogger-specific information about it being locked and of the type "Header".
Items listed as "includable" are called later with "include". That's a very nice idea, and one that took me a while to figure out. Includable items that I found defined were:
Interestingly, I can't find a way to move the "Header" layout widget to anywhere else on the layout page. For example, I wanted to put the header over the main content, but not over the sidebar. No dice. Moving it in the template results in a "invalid template" error.
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<data:title/>
<b:else/>
<a expr:href='data:blog.homepageUrl'><data:title/></a>
</b:if>
</h1>
</div>
The "data:" construct appears to be the new way to reference what used to be Blogger tags. There are no definitions available yet from Blogger, but I'm guessing the definition of these data objects
- blog.url = the currnet URL for the blog page
- blog.homepageUrl = the URL of the homepage of the blog
In this case, if the current URL equals the homepageURL (i.e., you're on the main page), then the title doesn't have an embedded link. If you're on another page (e.g. an archive page), then the title becomes a link back to the main page.Pretty slick.
<p class='description'><span><data:description/></span></p>
</div>
</b:includable>
</b:widget>
</b:section>
</div>
Here's another data field
- description: The blog description (duh!)
The wrapper, of course, uses the variable and styles above as defined in the Layout editor by calling the "descriptionwrapper" class defined in the header.It also says that it's not possible to add any elements to this section, something that you can experience for yourself in the Layout editor. The main section is for posts only. Personally, I don't use the main part for anything other than posts, so maybe this limitation isn't too bad.
This line appears to indicate the start of the individual page content, but it's not entirely clear what all is going on here.
It looks like this one line puts in all of your post content, including the footer, labels, etc..
That's a lot of work in such a small number of characters. It remains to be seen if that will be a problem.
<div id='comments'>
<a name='comments'/>
<h4>
<b:if cond='data:post.numComments == 1'>
1 Comment:
<b:else/>
<data:post.numComments/> Comments:
</b:if>
</h4>
Again, a nice if-then statement so that if there is only one comment, the blog prints "1 Comment". If there are more than one comments, it prints "# Comments" where # is the number of comments.
Another data object here:
<b:loop values='data:post.comments' var='comment'>
<a expr:name='"comment-" + data:comment.id'/>
I'm not personally familiar with<dl>, <dt>, and <dd>, but I'm guessing that those are standard html tags.dl and dt are used for making lists of terms and their definitions (as pointed out by a rather superior slashdot commenter).
Here's another interesting Blogger code construct, "expr:".
"Expr:" appears to be a way to generate content for other use, something that used to be done with Blogger tags. In this case, "expr:name='"comment-" + data:comment.id" generates the name field in the <dt> tag (and later in an <a> tag) that is equal to the text "comment-[really obscure number representing this specific comment]".
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
said...
</dt>
Note that the "nofollow" is automatically included so that blog spammers get no love from the Googlebot.
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>
In my stylesheet, that's italics and gray. I imagine this is for temporary deletions or confirmations of deletions. Surely the deleted comments don't just hang around.
<span class='comment-timestamp'>
<a expr:href='"#comment-" + data:comment.id' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
The "expr:" operator is used to generate a permanent link to this comment and assign it to the timestamp.
Another <b:> tag is used to tell Blogger to put up the delete icon if the reader is the author (or so I imagine).
</b:loop>
</dl>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'>Post a Comment</a>
</p>
Notice how flexible the "expr" operator is here. It generates a link within a <a> tag poining to a URL and defining a click action. Nice.
More data objects:
<b:include data='post' name='backlinks'/>
</div>
</b:includable>
<b:if cond='data:post.editUrl'>
<span expr:class='"item-control " + data:post.adminClass'>
<a expr:href='data:post.editUrl' title='Edit Post'>
<span class='quick-edit-icon'> </span>
</a>
</span>
</b:if>
</b:includable>
If there is a post editing URL, then generate a span containing the quick edit icon.
New data objects here are:
<div id='blog-posts'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
<b:include data='post' name='post'/>
<b:if cond='data:blog.pageType == "item"'>
<b:if cond='data:post.allowComments'>
<b:include data='post' name='comments'/>
</b:if>
</b:if>
</b:loop>
</div>
There's a loop that goes through the posts, and if-then that prints out the date header it exists, and an if-then that prints out the comments section if comments are allowed.
New data objects are:
- post.dateHeader = the date header, apparently only attached to the last post on a specific day
- blog.pageType = not really sure, but it's probably a way to determine if you're on the main page or an item page
- post.allowComments = pretty obvious, isn't it?
The line" <b:include data='post' name='post'/>" apparently instructs Blogger to print out the post text. So I suppose there is some flexibility here for hacking.I'm guessing that the "<b:if cond='data:blog.pageType == "item"'>" if-then statement is used to include the comment constucts from above if this in an individual item page.
<b:include name='nextprev'/>
<b:include name='feedLinks'/>
</b:includable>
The includable close is for the "main" includable - or at least this particular "main" includable.
<span expr:class='"item-control " + data:backlink.adminClass'>
<a expr:href='data:backlink.deleteUrl' title='Delete Backlink'>
<span class='delete-comment-icon'> </span>
</a>
</span>
</b:includable>
And yet another data object
- backlink.deleteUrl
The data object appears to be nicely object-oriented with the "backlink" object having sub-objects like "deleteURL".<div class='feed-links'>
Subscribe to:
<b:loop values='data:links' var='f'>
<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a>
</b:loop>
</div>
</b:includable>
Here is the code snippet for the feed links body includable. This one loops through all of the called links types (var='links') and prints out a hyperlinked pointer to the link URLs.
The hyperlink (<a href ...>) includes a URL and type, both of which are constucted on the fly with expr: operators.
The target is set to '_blank' so that the links open in a new window. Always a nice touch.
<b:if cond='data:post.numBacklinks != 0'>
<a name='links'/><h4><data:post.backlinksLabel/></h4>
<dl id='comments-block'>
<b:loop values='data:post.backlinks' var='backlink'>
<div class='collapsed-backlink backlink-control'>
<dt class='comment-title'>
<span class='backlink-toggle-zippy'> </span>
<a expr:href='data:backlink.url' rel='nofollow'><data:backlink.title/></a>
<b:include data='backlink' name='backlinkDeleteIcon'/>
</dt>
<dd class='comment-body collapseable'>
<data:backlink.snippet/>
</dd>
<dd class='comment-footer collapseable'>
<span class='comment-author'><data:post.authorLabel/>
<data:backlink.author/></span>
<span class='comment-timestamp'><data:post.timestampLabel/>
<data:backlink.timestamp/></span>
</dd>
</div>
</b:loop>
</dl>
<p class='comment-footer'>
<a class='comment-link' expr:href='data:post.createLinkUrl' id='b-backlink' target='_blank'><data:post.createLinkLabel/></a>
</p>
</b:if>
</b:includable>
The first if-then statement checks if there are any backlinks (post.numbacklinks != 0). The != must mean "not equal to", because this section only makes sense if there actually are backlinks.
This section prints a label ('links'), followed by a label (defined in the layout options), followed by the backlinks themselves formatted as a definition list.
Some data objects in this section are:
<b:includable id='feedLinks'>
<b:if cond='data:blog.pageType != "item"'> <!-- Blog feed links -->
<b:if cond='data:feedLinks'>
<div id='blog-feeds'>
<b:include data='feedLinks' name='feedLinksBody'/>
</div>
</b:if>
<b:else/> <!--Post feed links -->
<div id='post-feeds'>
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.allowComments'>
<b:if cond='data:post.feedLinks'>
<b:include data='post.feedLinks' name='feedLinksBody'/>
</b:if>
</b:if>
</b:loop>
</div>
</b:if>
</b:includable>
This is the includable for feed links.
The main if-then-else statement checks to see if the current page is an item page or not. Again, "!=" must be "not equal to". If the current page is not an item page, then print the Blog feed links. If the current page is an item page, then print the post feed links.
For non-item pages, another if-then checks that there actually are some feed links. If they exist, then the feeds are printed out inside a set of <div> tags by calling the feedLinksBody includable, which I assume is somewhere below. The passed data to the includable is feedLinks, as opposed to post.feedLinks, which is used below on the post-specific links.
For the item pages, an if-then checks to see if comments are allowed. Apparently, feeds aren't displayed if comments aren't enabled. I'm not sure why that particular restriction exists.
If comments are enabled, then a second if-then checks that feed links exist. If so, then the post-specific links are printed out inside a set of <div> tags by calling the feedLinksBody includable with post.feedLinks as passed data.
<b:includable id='nextprev'>
<div id='blog-pager'>
<b:if cond='data:newerPageUrl'>
<a expr:href='data:newerPageUrl' expr:title='data:newerPageTitle' id='blog-pager-newer-link'><data:newerPageTitle/></a>
</b:if>
<b:if cond='data:olderPageUrl'>
<a expr:href='data:olderPageUrl' expr:title='data:olderPageTitle' id='blog-pager-older-link'><data:olderPageTitle/></a>
</b:if>
<b:if cond='data:blog.homepageUrl != data:blog.url'>
<a class='home-link' expr:href='data:blog.homepageUrl'>Home</a>
</b:if>
</div>
<div class='clear'/>
</b:includable>
The includable for next and previous post links.
<span expr:class='"item-control " + data:comment.adminClass'>
<a expr:href='data:comment.deleteUrl' title='Delete Comment'>
<span class='delete-comment-icon'> </span>
</a>
</span>
</b:includable>
<b:includable id='post' var='post'>
<div class='post'>
<a expr:name='data:post.id'/>
<b:if cond='data:post.title'>
<h3 class='post-title'>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'><data:post.title/></a>
<b:else/>
<data:post.title/>
</b:if>
</h3>
</b:if>
<div class='post-header-line-1'/>
<div class='post-body'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<div class='post-footer'>
<p class='post-footer-line post-footer-line-1'><span class='post-author'>
<b:if cond='data:top.showAuthor'>
<data:top.authorLabel/> <data:post.author/>
</b:if>
</span> <span class='post-timestamp'>
<b:if cond='data:top.showTimestamp'>
<data:top.timestampLabel/>
<b:if cond='data:post.url'>
<a class='timestamp-link' expr:href='data:post.url' title='permanent link'><data:post.timestamp/></a>
</b:if>
</b:if>
</span> <span class='post-labels'>
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
</b:if>
</span> <span class='post-comment-link'>
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:post.allowComments'>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
</b:if>
</b:if>
</span> <span class='post-icons'>
<!-- email post links -->
<b:if cond='data:post.emailPostUrl'>
<span class='item-action'>
<a expr:href='data:post.emailPostUrl' title='Email Post'>
<span class='email-post-icon'> </span>
</a>
</span>
</b:if>
<!-- quickedit pencil -->
<b:include data='post' name='postQuickEdit'/>
</span> </p>
<p class='post-footer-line post-footer-line-2'/>
<p class='post-footer-line post-footer-line-3'/>
</div>
</div>
</b:includable>
</b:section>
</div>
<div id='sidebar-wrapper'>
<b:section class='sidebar' id='sidebar' preferred='yes'>
<b:widget id='Image1' locked='false' title='' type='Image'>
<b:includable id='main'>
<b:if cond='data:title != ""'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<img expr:alt='data:title' expr:height='data:height' expr:id='data:widget.instanceId + "_img"' expr:src='data:sourceUrl' expr:width='data:width'/>
<br/>
<b:if cond='data:caption != ""'>
<span class='caption'><data:caption/></span>
</b:if>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
<b:widget id='Label1' locked='false' title='Labels' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<ul>
<b:loop values='data:labels' var='label'>
<li>
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a expr:href='data:label.url'><data:label.name/></a>
</b:if>
(<data:label.count/>)
</li>
</b:loop>
</ul>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
<b:widget id='HTML1' locked='false' title='' type='HTML'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
<b:widget id='Feed1' locked='false' title='Latest Comments' type='Feed'>
<b:includable id='main'>
<input id='displayMode' type='hidden' value='true'/>
<input expr:value='data:feedUrl' id='feedUrl' type='hidden'/>
<input expr:value='data:numItemsShow' id='numItemsShow' type='hidden'/>
<input expr:value='data:showItemDate' id='showItemDate' type='hidden'/>
<input expr:value='data:showItemAuthor' id='showItemAuthor' type='hidden'/>
<input expr:value='data:locale' id='locale' type='hidden'/>
<input expr:value='data:timeZone' id='timeZone' type='hidden'/>
<input expr:value='data:feedReaderJsonBaseUrl' id='feedReaderJsonBaseUrl' type='hidden'/>
<input expr:value='data:feedWidgetRefreshIntervalSec' id='feedWidgetRefreshIntervalSec' type='hidden'/>
<h2><data:title/></h2>
<div class='widget-content'>
<ul id='feedItemListDisplay'>
<b:loop values='data:feedData.items' var='i'>
<li>
<span class='item-title'>
<a expr:href='data:i.alternate.href'>
<data:i.title/>
</a>
</span>
<b:if cond='data:showItemDate'>
<b:if cond='data:i.str_published != ""'>
<span class='item-date'>
- <data:i.str_published/>
</span>
</b:if>
</b:if>
<b:if cond='data:showItemAuthor'>
<b:if cond='data:i.author != ""'>
<span class='item-author'>
- <data:i.author/>
</span>
</b:if>
</b:if>
</li>
</b:loop>
</ul>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
<b:widget id='Text1' locked='false' title='Administrative Notes' type='Text'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
<b:widget id='TextList1' locked='false' title='Sources' type='TextList'>
<b:includable id='main'>
<h2><data:title/></h2>
<div class='widget-content'>
<ul>
<div id='link'>
<b:loop values='data:items' var='item'>
<li><data:item/></li>
</b:loop>
</div>
</ul>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
<b:widget id='BlogArchive1' locked='false' title='Blog Archive' type='BlogArchive'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<div id='ArchiveList'>
<b:if cond='data:style == "HIERARCHY"'>
<b:include data='data' name='interval'/>
</b:if>
<b:if cond='data:style == "FLAT"'>
<b:include data='data' name='flat'/>
</b:if>
<b:if cond='data:style == "MENU"'>
<b:include data='data' name='menu'/>
</b:if>
</div>
<b:include name='quickedit'/>
</div>
</b:includable>
<b:includable id='flat' var='data'>
<ul>
<b:loop values='data:data' var='i'>
<li class='archivedate'>
<a expr:href='data:i.url'><data:i.name/></a> (<data:i.post-count/>)
</li>
</b:loop>
</ul>
</b:includable>
<b:includable id='menu' var='data'>
<select id='ArchiveMenu'>
<b:loop values='data:data' var='i'>
<option expr:value='data:i.url'><data:i.name/> (<data:i.post-count/>)</option>
</b:loop>
</select>
</b:includable>
<b:includable id='interval' var='intervalData'>
<b:loop values='data:intervalData' var='i'>
<ul>
<li expr:class='"archivedate " + data:i.expclass'>
<b:include data='i' name='toggle'/>
<a class='post-count-link' expr:href='data:i.url'><data:i.name/></a>
(<span class='post-count'><data:i.post-count/></span>)
<b:if cond='data:i.data'>
<b:include data='i.data' name='interval'/>
</b:if>
<b:if cond='data:i.posts'>
<b:include data='i.posts' name='posts'/>
</b:if>
</li>
</ul>
</b:loop>
</b:includable>
<b:includable id='toggle' var='interval'>
<b:if cond='data:interval.toggleId'>
<b:if cond='data:interval.expclass == "expanded"'>
<a class='toggle' expr:href='data:widget.actionUrl + "&action=toggle" + "&dir=close&toggle=" + data:interval.toggleId + "&toggleopen=" + data:toggleopen'>
<span class='zippy toggle-open'>? </span>
</a>
<b:else/>
<a class='toggle' expr:href='data:widget.actionUrl + "&action=toggle" + "&dir=open&toggle=" + data:interval.toggleId + "&toggleopen=" + data:toggleopen'>
<span class='zippy'>? </span>
</a>
</b:if>
</b:if>
</b:includable>
<b:includable id='posts' var='posts'>
<ul class='posts'>
<b:loop values='data:posts' var='i'>
<li><a expr:href='data:i.url'><data:i.title/></a></li>
</b:loop>
</ul>
</b:includable>
</b:widget>
<b:widget id='HTML2' locked='false' title='' type='HTML'>
<b:includable id='main'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:includable>
</b:widget>
</b:section>
</div>
<div class='clear'> </div>
</div> <!-- end content-wrapper -->
</div></div> <!-- end outer-wrapper -->
</body>
</html>