Tampilkan postingan dengan label iBlogger. Tampilkan semua postingan
Tampilkan postingan dengan label iBlogger. Tampilkan semua postingan
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
The basic
The first thing to do is to add a closing tag. So this:<b:widget>
tags for creating widgets are described in Page Element Tags for Layouts.If you just want to use the Page Elements tab to work with everything,then that's all you need to know. However, if you want morefine-grained control, this article describes what you can put inside awidget, if you're working in the "Expand Widget Templates" mode of theEdit HTML page. <b:widget [...attributes...] />
becomes this:
<b:widget [...attributes...]>
</b:widget>
Now with that out of the way, let's talk about what you can put between those tags.
Includes
Widget content is contained in "includable" sections, which have this format:The attributes are as follows:<b:includable id='main' var='thiswidget'>
[insert whatever content you want here]
</b:includable>
- id: (Required) A unique identifier made up of letters and numbers.
- var: (Optional) An identifier made up of lettersand numbers, for referencing data within this section. (See the datasection below.)
Each widget must have one includable with
id='main'
.This will usually contain most or all of the content that will displayfor this widget, and in many cases it will be all you need.If you make more includables with different IDs, they will not bedisplayed automatically. However, if you make an includable with
The attributes for the id='new'
, then you can reference it in your main includable with <b:include name='new' />
and it will display that way.b:include
tag are as follows:- name: (Required) An identifier made up of letters and numbers. It must match the ID of an existing
b:includable
in the same widget. - data: (Optional) An expression or peice of data to pass on to the includable section. This will become the value of the
var
attribute in the includable.
Here is a simple example demonstrating the use of
b:includable
and b:include
.Loops and data are described later in this article. The main thing tounderstand here is how the "main" section includes the "post" sectionwithin it. It passes along a post that it calls "i" and the includedsection references it as its var "p", then prints the title.<b:includable id='main'>
<b:loop var='i' values='posts'>
<b:include name='post' data='i'/>
</b:loop>
</b:includable>
<b:includable id='post' var='p'>
Title: <data:p.title/>
</b:includable>
Includes are most useful if you have a section of code that you wantto repeat multiple times in different places. You can just write thecode once, put it inside a
is unnecessary.)b:includable
, then use b:include
wherever you want it to appear. If you don't need to do that, then youcan just stick with the single main includable and not worry about therest. (Note that the main includable is included automically -- <b:include name='main'/>
Data
The
data:
tag is arguably one of the most importantones, since it's the avenue that brings in all of your actual content.Some examples of this tag are: <data:title/>
or
<data:photo.url/>
The first example is simplest, and will work in most widgets, sincemost widgets have titles. All it does is print out the title of thewidget. The second example shows a more complex variable, from which weselect a particular component. A
photo
, say in the context of a profile widget, may have components such as url
, height
, and width
. Using the "." notation indicates that we want the URL for this photo, rather than a URL from something else.There is a great deal of data that you can access with the
data:
tag, and it varies depending on which widget you're working with. We've got a comprehensive list to help you find the data you need.Loops
The
b:loop
tag lets you repeat a section of contentmultiple times. This is most commonly used for printing out each postin a list of posts for a given page, or each comment, or each label,etc. The general format for using loops is this: <b:loop var='identifier' values='set-of-data'>
[repeated content goes here]
</b:loop>
The 'identifier' part can be any name you choose, and will be usedto stand in for each new item in the list, each time through the loop.A common convention is to simply call this "i". The set of data youspecify for the values can be any piece of data described in the data tags article as being a list of items. For instance, in the blog posts widget,
posts
is a list. Code like the following will loop through each post,printing out the title for each one, with header tags around it. <b:loop var='i' values='data:posts'>
<h2><data:i.title/></h2>
</b:loop>
Notice how "i" takes on the value of each post in turn, so you can get the title from each one.
If / Else
You can use the
b:if
and b:else
tags to display content in some places but not others. The general format is this:<b:if cond='condition'>
[content to display if condition is true]
<b:else/>
[content to display if condition is false]
</b:if>
The
b:else
tag is optional. Without it, the result will be either the content listed in the b:if
section or nothing. The closing </b:if>
is required in each case, however. For "condition" you can put in anything that evaluates to eithertrue or false. Some data tags are simply true/false values on theirown, e.g.
allowComments
on a post. With other pieces of data, you can compare them with specific values to get a true or false. Here are some examples:<b:if cond='data:post.showBacklinks'>
True if the current post is set to show backlinks.<b:if cond='data:blog.pageType == "item"'>
True if the current page is an item page (post page).<b:if cond='data:displayname != "Fred"'>
True if this is not Fred's display name.<b:if cond='data:post.numComments > 1'>
True if the current post has more than one comment.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
If you know HTML or CSS, you're welcome to modify the fonts andcolors in your template any way you like. However, if you want them towork with the Fonts and Colors feature of Blogger Layouts, then thereare a few guidelines to follow. Doing it this way will let you modifythe colors more easily if you change your mind later. It also helps ifyou share your template with someone else who wants to customize theirversion a bit.
In the
<head>
section of your code, you'll need to have a pair of <b:skin> </b:skin>
tags. The CSS style declarations will go in between those tags, alongwith the variable names that make your design work with the Fonts andColors page. Here's a brief example of how it looks, before we get intothe details:
<head>
...
<b:skin>
<style type='text/css'>
/*
* Variable definitions:
* <Variable name='bgcolor' description='Page Background Color'
type='color' default='#fff'/>
*/
body {
background: $bgcolor;
margin: 0;
padding: 40px 20px;
}
</style>
</b:skin>
</head>
The first part of the CSS code is enclosed in
/*
and */
comment tags, so it won't be shown on your blog, but only used byBlogger internally. There will be a list of variables here, one foreach font or color that you want to be editable from the Fonts andColors tab. Each variable is required to have the information shown inthe example above and described here:- name - This name may contain only letters or numbers, and each name in your template must be unique.
- description - This can be a more descriptive name, and can include spaces. This is what will appear in the Fonts and Colors tab.
- type - This can be either "font" or "color".
- default - The default value. For colors, this should be a hexadecimal color code, e.g.
#FF0066
. For fonts, it will be a list of the formfont-style font-weight font-size font-family
.
After the variables are set up, the rest of the code looks likeregular CSS, with one exception. Any time you want to use a color orfont for which you made a variable, you'll enter
$variable_name
instead of the actual color or font. In the example above, you can see that we created a variable called bgcolor
and set it to white (#fff
). Then later on in the code, instead of setting the body background property to white explictly, we just said background: $bgcolor
.This still has the effect of making the background white, with thedifference that we can change it easily from the Fonts and Colors tabif we want to.As you work on your template design, you'll add lots of variablesfor all the different fonts and colors you want to control. You do not,however, need to create variables for other types of CSS attributes.These can be included in the CSS just as they normally would be (aswith the
margin:
and padding:
attributes in the example above).
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
The simplest form of a list. Each item is just a single piece of text, without any different types of data within it.
- title: The widget title.
- items: The list of items.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
A slightly fancier list, where each item has two parts to it: the text and the link.
- title: The widget title.
- links: The list of links, each of which contains:
- name: The link's text.
- target: The link's URL.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
It doesn't get any simpler than this one. Just one piece of data here.
- fullButton: The URL of the Blogger button you've selected.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
A picture widget contains a single image, and provides all the relevant data for that image.
- title: The title of the widget.
- sourceUrl: The URL of the image.
- width: The image's width, in pixels.
- height: The image's height, in pixels.
- caption: The image caption.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
The labels widget includes a list of all labels that are in use on the blog.
- title: The widget title.
- labels: The list of labels, each of which contains:
- name: The text of the label.
- count: How many posts have this label.
- url: A link to a page displaying posts with this label.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
The Text widget and the HTML/JavaScript widget work the same way and have the same two pieces of data.
- title: The widget's title.
- content: The content of the widget.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
A feed widget's content is dynamically loaded using Google AJAX APIafter blog is rendered in a browser. It can be styled only using CSS.
- title: The widget's title.
- feedUrl: The URL of the feed.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
The different styles provided here are for the different defaultoptions on the Page Elements tab. If you're designing a new version,it's easiest to use 'FLAT' as the style, and then manipulate the restof the data as desired.
- title: The title of the widget.
- style: One of 'MENU', 'FLAT', or 'HIERARCHY'.
- data: A list of each archive unit, each of which contains:
- name: The name of this archive interval, e.g. "August 2006."
- url: The link to the page containing posts from this interval.
- post-count: How many posts there are in this interval.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
For a blog with a single author, the profile widget contains thefollowing information. Note that to access different parts of the
photo
data, you'll use notation such as <data:photo.url/>
.- title: The title of the widget.
- userUrl: The author's profile URL.
- location: The location from the author's profile.
- aboutme: The "About Me" information from the profile.
- displayname: The author's display name.
- photo: The user's profile photo, made up of the following:
- url: The photo URL.
- width: The photo's width, in pixels.
- height: The photo's height, in pixels.
- alt: The "alt" text for the photo.
- title: The title of the widget.
- authors: The list of all authors, each of which contains the following:
- displayname: The author's display name.
- userURL: The author's profile URL.
If you want to design your template to handle both single- and multiple-author blogs, you can use the
data:team
variable to distinguish between the two cases. E.g. <b:if cond='data:team=="true"'> (display multiple authors) </b:if>
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
This is the central part of any blog, and the most complex. Youshould definitely consider simply making modifications to one of thedefault templates before writing a blog posts widget from scratch. Buthowever you want to do it, here's all the data available in this widget.
- feedLinks: A list of feeds for this page. Onthe main page, this will contain the main blog feeds; on item pages,this will also contain comments feeds. Each item in this list containsthe following:
- url: The feed URL.
- name: The feed name (i.e. 'Posts' or 'Comments').
- feedType: The type of feed (Atom or RSS).
- mimeType: The mime type of the feed.
- olderPageUrl:If there are older posts than the ones on the current page, this is aURL to those posts. Context-sensitive for page type. (Not all pageswill have this link.)
- olderPageTitle: Title of the link to the older page of posts.
- newerPageUrl: The newer equivalent of olderPageUrl.
- newerPageTitle: The newer equivalent of olderPageTitle.
- commentLabel: The phrase to use to show the number of comments, e.g. "comments."
- authorLabel: The phrase to use to indicate who wrote the post, e.g. "posted by."
- timestampLabel: The phrase to use to indicate when the post was written, e.g. "posted at."
- postLabelsLabel: Phrase to introduce the list of post labels, e.g. "labels for this post."
- backlinksLabel: Phrase to describe backlinks to this post, e.g. "links to this post."
- posts: A list of all posts for this page. Each post contains the following:
- dateHeader: The date of this post, only present if this is the first post in the list that was posted on this day.
- id: The numeric post ID.
- title: The post's title.
- body: The content of the post.
- author: The display name of the post author.
- url: The permalink of this post.
- timestamp: The post's timestamp. Unlike dateHeader, this exists for every post.
- labels: The list of the post's labels. Each label contains the following:
- name: The label text.
- url: The URL of the page that lists all posts in this blog with this label.
- isLast: True or false. Whether this label is the last one in the list (useful for placing commas).
- allowComments: 'True' if this post allows comments.
- numComments: The number of comments on this post.
- showBacklinks: Whether to show backlinks for this post.
- numBacklinks: Number of backlinks for this post.
- addCommentUrl: The URL of the 'add a comment' form for this post.
- emailPostUrl: The URL of the 'email this post' form for this post.
- editUrl: The URL of the edit form for this post.
- feedLinks:A list of feeds specific to this post. (This is different from theoverall blog feedLinks, as it may contain a feed for the post'scomments, for instance.) Each contains the following:
- url: The feed URL.
- name: The feed name (e.g. 'Posts' or 'Comments').
- feedType: The type of feed (Atom or RSS).
- mimeType: The mime type of the feed.
- comments: A list of all comments for this post (on item pages only). Each contains the following:
- id: The numeric ID of the comment.
- body: The body of the comment.
- timestamp: The time the comment was created.
- author: The display name of the comment's author, or 'Anonymous'.
- authorUrl: URL of the comment author's profile, if the comment is not anonymous.
- deleteUrl: The URL for deleting this comment.
- isDeleted: Whether this comment has been deleted. (The text of deleted comments is replaced with a placeholder.)
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
This is a simple widget with just two pieces of data. They can be referenced simply as <data:title/> and <data:description/>.
- title: The blog's title.
- description: The blog's description.
By Siapa Aku
|
Minggu, Februari 21, 2010
Label: iBlogger, XML
Label: iBlogger, XML
As mentioned in the Widget Tags for Layouts article, there are many different tags you can use to include specific pieces of data in your template. They will all be formatted as <data:name/> or <data:name1.name2/>, where name is the name of the particular piece of data you want to use. In the name1.name2 example, name2 is a particular item within a set of data called name1, e.g. photo.url.
This is a master list of all such available data. It is divided into sections by page element, because different types of widgets use different data.
- Globally Available Data
- Page Header
- Blog Posts
- Blog Archives
- Profile
- Text / HTML / JavaScript
- Feed
- Picture
- Labels
- List
- Link List
- Logo
This information applies to the entire page, so you can use it anywhere, unlike other data which can only be used in a specific widget. These should be referenced as part of the overall "blog" data, e.g. as <data:blog.title/>, etc.
- title: The blog's title.
- pageType: The type of the current page. One of 'item', 'archive', or 'index'.
- url: The URL of the current page.
- homepageUrl: The homepage of the blog.
- pageTitle: The title of the current page. This is often the blog title, but may contain additional information on archive or post pages.
- encoding: The encoding to use for the blog, e.g. UTF-8.
- languageDirection: Either "ltr" or "rtl" for left-to-right and right-to-left languages, respectively.
- feedLinks: The autodiscovery feed links for the page header.
By Siapa Aku
|
Sabtu, Februari 20, 2010
Label: iBlogger
Label: iBlogger
Sebuah Feed situs adalah perwakilan blog anda yang dapat mengangkat dan ditampilkan pada situs web lainnya dan juga sebagai alat agregasi informasi.
Sebuah perangkat lunak khusus yang disebut pembaca feed, pembaca berita, atau dapat memindai agregator feed situs, dan secara otomatis membiarkan pembaca tahu ketika blog anda telah diperbarui. Contoh perangkat lunak tersebut adalah Google Reader, yang dapat anda gunakan dengan Account Google anda. Pilihan lain, termasuk berbasis web dan software pada sisi klien, yang terdaftar di AtomEnabled.org
By Siapa Aku
|
Sabtu, Februari 20, 2010
Label: How To, iBlogger
Label: How To, iBlogger
Dengan Blogger Reading List, Anda dapat membaca semua posting terbaru dari blog favorit anda yang berada tepat di Dashboard Blogger Anda !
kita dapat membaca posting daftar Blogger kita, dengan meletak di bawah daftar blog anda pada dashboard, hal ini memungkinkan anda untuk berlangganan blog dengan feed. dan akan diperbaharui setiap kali teman kita posting blog baru. Sebagai tambahan, Anda dapat melihat Fitur Google yaitu berupa Goole Buzz.
Langkahnya untuk menambahkan cukup sederhana.Pertama, klik tab "My Reading List" di bawah tab "Blogs I'm Following" pada Dashboard Blogger anda.
Setelah itu klik tombol ADD yang berwarna biru, yang terletak di bagian kiri bawah.
kemudian akan muncul menu sebagai berikut.Masukkan url blog teman yang ingin anda ketahui data postingnya, dan jika ingin menambahkan lebih dari satu alamat blog, anda bisa melakukan dengan klik "Add Another".
Setelah selesai memasukkan alamat URL blog teman anda, anda akan diberi pilihan provasi, mau yang umum atau yang pribadi. setelah selesai, tekan tombol orange "Follow".
Nah, sekarang anda bisa bisa membaca postingan teman anda setiap mereka posting baru tanpa di bagian "List" Dashboard anda.
By Siapa Aku
|
Jumat, Februari 19, 2010
Label: How To, iBlogger, iProgrammer, Template, XML
Label: How To, iBlogger, iProgrammer, Template, XML
Secara default, Blogger memberikan tampilan sama pada setiap posting dalam sebuah blog. Dalam kelompok blog, Anda dapat menggunakan fitur ini untuk membuat penampilan yang berbeda untuk posting yang ditulis oleh pengguna yang berbeda. Sebagai contoh, satu user bisa posting dengan tampilan judul blog berwarna hitam, hijau atau dengan tampilan warna lainnya, dan juga posting mereka bisa memiliki warna latar belakang yang berbeda. Apa pun yang dapat Anda lakukan dalam CSS, anda dapat menentukan untuk posting dari pengguna tertentu. Berikut adalah contoh sederhana yang melibatkan warna.
Katakanlah kita memiliki dua pengguna berbagi blog dalam satu situs, dan nama-nama mereka adalah Ipoelnet dan Dicky. Biasanya ketika mereka posting, entri mereka terlihat sama, seperti dibawah ini:
11:30:00 AM
Kategori: iBlogger, iProgrammer, XML
Penulis : Dicky
3:04:00 AM
Kategori: Tugas Siswa
Penulis : Ipoelnet
Jika kita ingin membedakan agar warna postingan Ipoelnet berwarna biru dan warna postingan Dicky berwarna merah, langsung saja kita ke TKP ;)
1. Masuk ke Dasbor -> Tata Letak -> Edit HTML
2. Cari tag <$ BlogItemBody $> (untuk template classic) atau tag <data:post.body/> (untuk template Layout) yang ada pada XML script anda. Setelah ketemu, anda bisa menambahkan tag <span>, untuk menandainya dan jangan lupa beri tag span tersebut properti class atau id, mengapa demikian?? karena nantinya properti class atau id yang akan dituliskan merupakan berdasarkan nama class yang berhubungan dengan CSS, dalam contoh ini class berdasarkan nama penulis, ini cuman contoh dan andapun bisa mengganti dengan yang lain :
Untuk template classic
<span class="<$BlogItemAuthorNickname$>">
<$BlogItemBody$>
</span>
Untuk layout<span class="<data:post.author/>">
<data:post.body/>
</span>
nah, sekarang kita tinggal menambahkan class CSS-nya, untuk membedakan antara milik Ipoelnet dan Dicky, contoh CSS-nya :
.Ipoelnet {color:blue;}
.Dicky {color:red;}
3. Simpan template anda dan lihat hasilnya, secara langsung akan menghasilkan seperti dibawah ini :
11:30:00 AM
Kategori: iBlogger, iProgrammer, XML
Penulis : Dicky
3:04:00 AM
Kategori: Tugas Siswa
Penulis : Ipoelnet
Selamat mencoba,
By Siapa Aku
|
Kamis, Februari 18, 2010
Label: iBlogger, iProgrammer, XML
Label: iBlogger, iProgrammer, XML
If / Else
Seperti promrograman lain, fungsi if/else untuk persyaratan pada keadaan tertentu. format umum pada blogspot di tandai dengan script :
<b:if cond='condition'>
[content to display if condition is true]
<b:else/>
[content to display if condition is false]
</b:if>
tag disini .
b:else
itu adalah optional, jika kita menginginkan pilihan persyaratan lain, maka tag b:else adalah solusinya, jika tanpa tag b:else
berarti akan tampil satu pilihan saja. dan untuk tag b:if
ini sangat diperlukan dalam tiap kasus, dan kode penutup </b:if>
itu wajib ada jika anda menggunakan fungsi tag b:if
. contoh penggunaan tag b:if
By Siapa Aku
|
Kamis, Februari 18, 2010
Label: iBlogger, iProgrammer, XML
Label: iBlogger, iProgrammer, XML
Menampilkan tanggal posting :
<b:if cond='data:post.dateHeader'>
<data:post.dateHeader/>
</b:if>
Menampilkan Jam Posting :Menampilkan Label/kategori Posting :<b:if cond='data:post.url'>
<data:post.timestamp/>
</b:if>
<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>
By Siapa Aku
|
Rabu, Februari 17, 2010
Label: How To, iBlogger
Label: How To, iBlogger
Bagi yang sering melakukan blogwalking pasti sudah akrab dengan shoutbox yang ada di blog-blog yang telah dikunjungi. Apa itu shoutbox? Shoutbox adalah sebuah tool atau widget yang dapat kita gunakan untuk beriteraksi dengan pengunjung. Maksudnya? Maksudnya adalah pengunjung bisa meletakkan pesan pendek di shoutbox ini, sehingga kita bisa tahu apa pesan yang disampaikan oleh pengunjung. Jika masih belum paham juga, silahkan Anda lihat di sebelah kanan blog saya ini dan jangan lupa diisi..
Kenapa tidak menggunakan kotak komentar yang ada dibawah postingan?
Jawabannya adalah karena shoutbox lebih praktis, lebih cepat prosesnya, dan lebih mudah dilihat oleh pengunjung lain atau si pemilik blog. Beda dengan komentar yang jika kita ingin melihatnya maka kita harus melihat postingan secara lengkap, bagaimana jika komentarnya berada di topik-topik yang berbeda pada postingan blog kita? pasti akan merepotkan buat kita untuk melacaknya kecuali blog kita sudah diberi fasilitas recent comment atau kometar terakhir.
Nah, sebenarnya untuk memasang shoutbox di blogspot tidaklah sulit. Kita hanya perlu mendaftar di layanan yang menyediakan tool tersebut, dan kita akan mendapatkan sebuah script yang bisa langsung kita pasang di blog kita.
Shoutmix
Shoutmix adalah tool shoutbox yang saya rekomendasikan untuk dipasang di blogspot karena free, desainnya yang cukup bagus, ringan, dan mudah dalam proses registrasinya. Dan tentunya mudah pula dalam memasangnya di blogspot.
Baiklah, sebagai bahan belajar saya akan memberikan tips atau tutorial pemasangan shoutbox dalam hal ini shoutmix di blogspot. Berikut ini langkah demi langkah yang bisa Anda lakukan, semoga berhasil.. :)
- Melakukan Pendaftaran Shoutbox di Situs Shoutmix, Langkah pertama yang harus dilakukan agar kita bisa memasang shoutbox di blogspot tentu saja adalah mendaftar di situs penyedia tool shoutmix ini. Silahkan klik www.shoutmix.com untuk mendaftar di situs mereka yang beralamat www.shoutmix.com. Proses pendaftarannya sangat mudah, silahkan ikuti instruksi yang diberikan.
- Ambil Script Shoutbox, Jika Anda sudah melakukan pendaftaran, sekarang ambilah script shoutbox atau shoutmix yang diberikan oleh mereka.
- Pemasangan Shoutbox di Blogspot, Langkah selanjutnya adalah memasang shoutbox di blogspot, caranya:
- Login ke dashboard blogspot Anda
- Masuk ke tab menu Layout dan pilih submenu Page Element
- Tambahkan sebuah widget baru dengan tipe Javascript/HTML
- Isikan title/judul dari widget Anda
- Letakkan script kode shoutbox yang telah Anda peroleh di situ shoutmix
- Simpan widget tersebut
Jika langkah-langkah pemasangan shoutbox/shoutmix sudah Anda lakukan dengan benar sesuai tutorial di atas, maka sekarang shoutbox dengan tipe shoutmix sudah bisa Anda nikmati di blog kesayangan Anda. Sekian semoga bermanfaat, Cheer...
Langganan:
Postingan (Atom)