Membuat Struktur Dasar Template Blog Blogger - Gasskeun Membuat Struktur Dasar Template Blog Blogger | Gasskeun

Membuat Struktur Dasar Template Blog Blogger

 Saat ini Anda sedang membaca serial ketiga dari  Membuat Struktur Dasar Template Blog Blogger

Saat ini Anda sedang membaca serial ketiga dari 11 seri panduan menciptakan template blog sendiri. Pada serial sebelumnya kita telah berhasil membuat blog yang ringan, valid HTML5, dan SEO Friendly dengan source code template blog sebagai berikut.

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html> <HTML> &lt;head&gt; <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link expr:href='data:blog.homepageUrl + &quot;favicon.ico&quot;' rel='icon' type='image/x-icon'/> <link expr:href='data:blog.url' rel='canonical'/> <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/> <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default?alt=rss&quot;' expr:title='data:blog.title + &quot; - RSS&quot;' rel='alternate' type='application/rss+xml'/> <link expr:href='&quot;http://www.blogger.com/feeds/&quot; + data:blog.blogId + &quot;/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/> <link href='http://www.blogger.com/openid-server.g' rel='openid.server'/> <link expr:href='data:blog.homepageUrl' rel='openid.delegate'/> <b:if cond='data:blog.pageType == &quot;item&quot;'> <b:if cond='data:blog.postImageThumbnailUrl'> <link expr:href='data:blog.postImageThumbnailUrl' rel='image_src'/> </b:if> <b:if cond='data:blog.metaDescription != &quot;&quot;'> <meta expr:content='data:blog.metaDescription' name='description'/> <b:else/> <meta expr:content='data:blog.pageName + &quot; - &quot; + data:blog.title' name='description'/> </b:if> </b:if>  <!-- SEO Title Tag --> <b:if cond='data:blog.url == data:blog.homepageUrl'><title><data:blog.title/></title></b:if> <b:if cond='data:blog.pageType == &quot;item&quot;'><title><data:blog.pageName/> - <data:blog.title/></title></b:if> <b:if cond='data:blog.pageType == &quot;archive&quot;'><title>Archive for <data:blog.pageName/></title></b:if> <b:if cond='data:blog.pageType == &quot;static_page&quot;'><title><data:blog.pageName/></title></b:if> <b:if cond='data:blog.pageType == &quot;index&quot;'><b:if cond='data:blog.searchLabel'><title><data:blog.title/> - <data:blog.pageName/></title></b:if></b:if> <b:if cond='data:blog.pageType == &quot;error_page&quot;'><title>Page Not Found</title></b:if> <b:if cond='data:blog.pageType == &quot;index&quot;'><b:if cond='data:blog.url != data:blog.homepageUrl'><title><data:blog.pageTitle/> - All Post</title></b:if></b:if>  <b:skin><![CDATA[ /* RESET */ html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td {margin: 0;padding: 0;outline: 0;font-size: 100%;vertical-align: baseline;background: transparent;height: auto;border-top-width: 0;border-bottom-width: 0;border-left-width: 0;} blockquote:before, blockquote:after,q:before, q:after {content: &#8221;;content: none;} blockquote, q {quotes: none;} :focus {outline: 0;} .clear {clear: both;display: block;height: 1px;overflow: hidden;margin: 0;padding: 0;} ins {text-decoration: none;} del {text-decoration: line-through;} table {border-collapse: collapse;border-spacing: 0;} body {background-color: #cab894;background-position: center center;}  a:link {font-family: 'PT Serif Caption', serif; font-size: 15px; color:#3094db;} a:hover {color: #4d4544;} a {color: #3094db;}  #blog-pager-newer-link {float: left;} #blog-pager-older-link {float: right;} #blog-pager {text-align: center;margin: 20px 0px 0px 1px;}  .status-msg-wrap{font-size:110%;width:90%;margin:10px auto;position:relative} .status-msg-border{border:1px solid #000;filter:alpha(opacity=40);-moz-opacity:.4;opacity:.4;width:100%;position:relative} .status-msg-bg{background-color:#ccc;opacity:.8;filter:alpha(opacity=30);-moz-opacity:.8;width:100%;position:relative;z-index:1} .status-msg-body{text-align:center;padding:.3em 0;width:100%;position:absolute;z-index:4} .status-msg-hidden{visibility:hidden;padding:.3em 0} .status-msg-wrap a{padding-left:.4em;text-decoration:underline} ]]></b:skin> &lt;!--<head/>--&gt; <body> <b:section class='main' id='main'>   <b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog'></b:widget> </b:section> &lt;!--</body>--&gt; </HTML> 

Kali ini kita akan mencar ilmu mengatur tampilan struktur dasar atau tata letak template blog, yang tentu saja dilakukan memakai CSS.

Berbicara ihwal CSS, sebelumnya kita telah mencar ilmu bahwa CSS di dalam template blog di letakkan di dalam tag b:skin.

<b:skin><![CDATA[    /*CSS di sini...*/ ]]></b:skin> 

Sebenarnya selain diletakkan di dalam tag b:skin, CSS juga sanggup diletakkan di dalam tag style berikut.

<style type='text/css'>    /*CSS di sini...*/ </style> 

Semua tag CSS yang diletakkan di dalam tag b:skin mempunyai warna yang sama, sedangkan jikalau diletakkan di dalam tag style akan berwarna spesifik sehingga memudahkan pengeditan. Perbedaannya silahkan perhatikan gambar di bawah ini.

 Saat ini Anda sedang membaca serial ketiga dari  Membuat Struktur Dasar Template Blog Blogger

Selain itu, menurut pengalaman, CSS yang diletakkan di dalam tag style lebih terjamin ditampilkan pada browser lintas platform, daripada dikala ditempatkan di dalam tag b:skin.

Oleh alasannya itu saya sangat merekomendasikan untuk meletakkan CSS template blog Anda di dalam tag style.

Mengubah tag b:skin Menjadi tag style Untuk Penempatan CSS


Pertama amankan CSS Anda terlebih dahulu dengan mem-backup-nya ke dalam notepad.

Kemudian nonaktifkan tag b:skin dengan cara mengubah tag b:skin berikut.

<b:skin><![CDATA[ ]]></b:skin> 

Menjadi menyerupai ini.

&lt;style type=&quot;text/css&quot;&gt;&lt;!-- /*<b:skin><![CDATA[ ]]></b:skin>

Tambahkan tag style di bawahnya. Kemudian tempatkan CSS yang telah Anda backup di antara tag style, sehingga kurang lebih menyerupai berikut.

&lt;style type=&quot;text/css&quot;&gt;&lt;!-- /*<b:skin><![CDATA[ ]]></b:skin>  <style type='text/css'>    // CSS di sini... </style> 

Makara source code template blog kita kini akan menjadi menyerupai berikut.

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html> <HTML> &lt;head&gt; <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link expr:href='data:blog.homepageUrl + &quot;favicon.ico&quot;' rel='icon' type='image/x-icon'/> <link expr:href='data:blog.url' rel='canonical'/> <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/> <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default?alt=rss&quot;' expr:title='data:blog.title + &quot; - RSS&quot;' rel='alternate' type='application/rss+xml'/> <link expr:href='&quot;http://www.blogger.com/feeds/&quot; + data:blog.blogId + &quot;/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/> <link href='http://www.blogger.com/openid-server.g' rel='openid.server'/> <link expr:href='data:blog.homepageUrl' rel='openid.delegate'/> <b:if cond='data:blog.pageType == &quot;item&quot;'> <b:if cond='data:blog.postImageThumbnailUrl'> <link expr:href='data:blog.postImageThumbnailUrl' rel='image_src'/> </b:if> <b:if cond='data:blog.metaDescription != &quot;&quot;'> <meta expr:content='data:blog.metaDescription' name='description'/> <b:else/> <meta expr:content='data:blog.pageName + &quot; - &quot; + data:blog.title' name='description'/> </b:if> </b:if>  <!-- SEO Title Tag --> <b:if cond='data:blog.url == data:blog.homepageUrl'><title><data:blog.title/></title></b:if> <b:if cond='data:blog.pageType == &quot;item&quot;'><title><data:blog.pageName/> - <data:blog.title/></title></b:if> <b:if cond='data:blog.pageType == &quot;archive&quot;'><title>Archive for <data:blog.pageName/></title></b:if> <b:if cond='data:blog.pageType == &quot;static_page&quot;'><title><data:blog.pageName/></title></b:if> <b:if cond='data:blog.pageType == &quot;index&quot;'><b:if cond='data:blog.searchLabel'><title><data:blog.title/> - <data:blog.pageName/></title></b:if></b:if> <b:if cond='data:blog.pageType == &quot;error_page&quot;'><title>Page Not Found</title></b:if> <b:if cond='data:blog.pageType == &quot;index&quot;'><b:if cond='data:blog.url != data:blog.homepageUrl'><title><data:blog.pageTitle/> - All Post</title></b:if></b:if>  &lt;style type=&quot;text/css&quot;&gt;&lt;!-- /*<b:skin><![CDATA[ ]]></b:skin>  <style type='text/css'> /* RESET */ html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td {margin: 0;padding: 0;outline: 0;font-size: 100%;vertical-align: baseline;background: transparent;height: auto;border-top-width: 0;border-bottom-width: 0;border-left-width: 0;} blockquote:before, blockquote:after,q:before, q:after {content: &#8221;;content: none;} blockquote, q {quotes: none;} :focus {outline: 0;} .clear {clear: both;display: block;height: 1px;overflow: hidden;margin: 0;padding: 0;} ins {text-decoration: none;} del {text-decoration: line-through;} table {border-collapse: collapse;border-spacing: 0;} body {background-color: #cab894;background-position: center center;}  a:link {font-family: 'PT Serif Caption', serif; font-size: 15px; color:#3094db;} a:hover {color: #4d4544;} a {color: #3094db;}  #blog-pager-newer-link {float: left;} #blog-pager-older-link {float: right;} #blog-pager {text-align: center;margin: 20px 0px 0px 1px;}  .status-msg-wrap{font-size:110%;width:90%;margin:10px auto;position:relative} .status-msg-border{border:1px solid #000;filter:alpha(opacity=40);-moz-opacity:.4;opacity:.4;width:100%;position:relative} .status-msg-bg{background-color:#ccc;opacity:.8;filter:alpha(opacity=30);-moz-opacity:.8;width:100%;position:relative;z-index:1} .status-msg-body{text-align:center;padding:.3em 0;width:100%;position:absolute;z-index:4} .status-msg-hidden{visibility:hidden;padding:.3em 0} .status-msg-wrap a{padding-left:.4em;text-decoration:underline} </style>  &lt;!--<head/>--&gt; <body> <b:section class='main' id='main'>   <b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog'></b:widget> </b:section> &lt;!--</body>--&gt; </HTML> 

6 Elemen Utama Template Blog


Berdasarkan tata letaknya, secara umum template blog terdiri dari 6 elemen utama, yaitu :

  1. Body
    Body atau badan merupakan bab dari HTML yang bertanggung jawab untuk menampilkan elemen-elemen blog. Semua elemen blog harus berada di dalam body supaya sanggup ditampilkan.

  2. Wrapper
    Wrapper atau sering disebut juga sebagai outer-wrapper merupakan wadah pembungkus terluar elemen-elemen blog sesudah body.

  3. Header-Wrapper
    Header-wrapper merupakan bab yang bertanggung jawab terhadap tampilan header blog. Header-wrapper menempati bab paling atas sebuah blog. Biasanya berisi info judul dan deskripsi blog.

  4. Content-Wrapper
    Content-wrapper ialah bab yang mengatur tampilan posting. Posisinya biasanya berada di tengah dan berfungsi sebagai daerah konten atau isi blog.

  5. Sidebar-Wrapper
    Sidebar-wrapper ialah bab yang mengatur tampilan sidebar. Letaknya biasanya berdampingan dengan content-wrapper alasannya bertindak sebagai pendukung. Sidebar-wrapper biasanya berisi widget atau gadget, info penulis, kolom pencarian, dan sebagai daerah iklan.

  6. Footer-Wrapper
    Footer-wrapper merupakan bab yang bertanggung jawab mengatur tampilan footer blog. Footer-wrapper menempati bab paling bawah sebuah blog. Biasanya footer-wrapper dimanfaatkan oleh pengelola blog sebagai daerah untuk menginformasikan kontak pengelola blog atau sebagai daerah memasang iklan.
 Saat ini Anda sedang membaca serial ketiga dari  Membuat Struktur Dasar Template Blog Blogger
Gambar di atas merupakan susunan elemen-elemen template blog yang akan kita buat.

Sebenarnya Anda sanggup menambah atau mengurangi jumlah dan mengatur posisi elemen blog sesuka hati. Namun sebagai awalan, kita akan menciptakan template blog dengan susunan elemen blog sederhana menyerupai gambar di atas.

Menambahkan CSS Struktur Dasar Template Blog


Pertama yang harus kita lakukan ialah mengatur tampilan struktur dasar template blog kita memakai CSS di bawah ini.

#wrapper {background: #fff; width: 90%; padding: 20px; margin: 20px auto;} #header-wrapper {background:#fff; width: 100%; height:auto; margin: 0 auto; border:1px solid #eaeaea;} .header {text-align:center} #content-wrapper {background: transparent; width:65%; float:left; border:1px solid #eaeaea; margin:10px 0;} #sidebar-wrapper {background: transparent; width:30%; float:right; border:1px solid #eaeaea; margin:10px 0;} #footer-wrapper {background:transparent; width:100%; border:1px solid #eaeaea; margin:10px 0;}  .clearfix:after {visibility: hidden; display: block; font-size: 0; content: &quot; &quot;; clear: both; height: 0;} 

Penjelasan singkat :
  • #wrapper untuk mengatur template secara keseluruhan.
  • #header-wrapper mengatur tampilan header.
  • .header untuk mengatur bab header secara lebih spesifik. Misal mengatur judul blog.
  • #content-wrapper mengatur bab konten atau posting.
  • #sidebar-wrapper mengatur daerah widget.
  • #footer-wrapper mengatur bab footer.
  • .clearfix ditambahkan untuk menghilangkan pengaruh float supaya tidak merusak tampilan elemen selanjutnya.

Memanggil Elemen-elemen Utama Template Blog


Selanjutnya ialah menulis syntax pemanggilan terhadap elemen-elemen utama template blog yang diletakkan di dalam bab body.

<div id='wrapper'> <header id='header-wrapper'><b:section class='header' id='header' maxwidgets='1'> <b:widget id='Header1' locked='true' title='Ganteng id (Header)' type='Header'></b:widget> </b:section> </header> <div class='clearfix'/> <aside id='content-wrapper'> <b:section class='main' id='main'>   <b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog'></b:widget> </b:section> </aside> <aside id='sidebar-wrapper'> <b:section class='sidebar' id='sidebar' showaddelement='yes'></b:section> </aside> <div class='clearfix'/> <footer id='footer-wrapper'> <b:section class='footer' id='footer' showaddelement='yes'></b:section> </footer> </div> 

Makara kini source code template kita menjadi menyerupai di bawah ini.

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html> <HTML> &lt;head&gt; <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link expr:href='data:blog.homepageUrl + &quot;favicon.ico&quot;' rel='icon' type='image/x-icon'/> <link expr:href='data:blog.url' rel='canonical'/> <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/> <link expr:href='data:blog.homepageUrl + &quot;feeds/posts/default?alt=rss&quot;' expr:title='data:blog.title + &quot; - RSS&quot;' rel='alternate' type='application/rss+xml'/> <link expr:href='&quot;http://www.blogger.com/feeds/&quot; + data:blog.blogId + &quot;/posts/default&quot;' expr:title='data:blog.title + &quot; - Atom&quot;' rel='alternate' type='application/atom+xml'/> <link href='http://www.blogger.com/openid-server.g' rel='openid.server'/> <link expr:href='data:blog.homepageUrl' rel='openid.delegate'/> <b:if cond='data:blog.pageType == &quot;item&quot;'> <b:if cond='data:blog.postImageThumbnailUrl'> <link expr:href='data:blog.postImageThumbnailUrl' rel='image_src'/> </b:if> <b:if cond='data:blog.metaDescription != &quot;&quot;'> <meta expr:content='data:blog.metaDescription' name='description'/> <b:else/> <meta expr:content='data:blog.pageName + &quot; - &quot; + data:blog.title' name='description'/> </b:if> </b:if>  <!-- SEO Title Tag --> <b:if cond='data:blog.url == data:blog.homepageUrl'><title><data:blog.title/></title></b:if> <b:if cond='data:blog.pageType == &quot;item&quot;'><title><data:blog.pageName/> - <data:blog.title/></title></b:if> <b:if cond='data:blog.pageType == &quot;archive&quot;'><title>Archive for <data:blog.pageName/></title></b:if> <b:if cond='data:blog.pageType == &quot;static_page&quot;'><title><data:blog.pageName/></title></b:if> <b:if cond='data:blog.pageType == &quot;index&quot;'><b:if cond='data:blog.searchLabel'><title><data:blog.title/> - <data:blog.pageName/></title></b:if></b:if> <b:if cond='data:blog.pageType == &quot;error_page&quot;'><title>Page Not Found</title></b:if> <b:if cond='data:blog.pageType == &quot;index&quot;'><b:if cond='data:blog.url != data:blog.homepageUrl'><title><data:blog.pageTitle/> - All Post</title></b:if></b:if>  &lt;style type=&quot;text/css&quot;&gt;&lt;!-- /*<b:skin><![CDATA[ ]]></b:skin>  <style type='text/css'> /* RESET */ html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, font, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td {margin: 0;padding: 0;outline: 0;font-size: 100%;vertical-align: baseline;background: transparent;height: auto;border-top-width: 0;border-bottom-width: 0;border-left-width: 0;} blockquote:before, blockquote:after,q:before, q:after {content: &#8221;;content: none;} blockquote, q {quotes: none;} :focus {outline: 0;} .clear {clear: both;display: block;height: 1px;overflow: hidden;margin: 0;padding: 0;} ins {text-decoration: none;} del {text-decoration: line-through;} table {border-collapse: collapse;border-spacing: 0;} body {background-color: #cab894;background-position: center center;}  a:link {font-family: 'PT Serif Caption', serif; font-size: 15px; color:#3094db;} a:hover {color: #4d4544;} a {color: #3094db;}  #wrapper {background: #fff; width: 90%; padding: 20px; margin: 20px auto;} #header-wrapper {background:#fff; width: 100%; height:auto; margin: 0 auto; border:1px solid #eaeaea;} .header {text-align:center} #content-wrapper {background: transparent; width:65%; float:left; border:1px solid #eaeaea; margin:10px 0;} #sidebar-wrapper {background: transparent; width:30%; float:right; border:1px solid #eaeaea; margin:10px 0;} #footer-wrapper {background:transparent; width:100%; border:1px solid #eaeaea; margin:10px 0;}  .clearfix:after {visibility: hidden; display: block; font-size: 0; content: &quot; &quot;; clear: both; height: 0;}  #blog-pager-newer-link {float: left;} #blog-pager-older-link {float: right;} #blog-pager {text-align: center;margin: 20px 0px 0px 1px;}  .status-msg-wrap{font-size:110%;width:90%;margin:10px auto;position:relative} .status-msg-border{border:1px solid #000;filter:alpha(opacity=40);-moz-opacity:.4;opacity:.4;width:100%;position:relative} .status-msg-bg{background-color:#ccc;opacity:.8;filter:alpha(opacity=30);-moz-opacity:.8;width:100%;position:relative;z-index:1} .status-msg-body{text-align:center;padding:.3em 0;width:100%;position:absolute;z-index:4} .status-msg-hidden{visibility:hidden;padding:.3em 0} .status-msg-wrap a{padding-left:.4em;text-decoration:underline} </style>  &lt;!--<head/>--&gt; <body> <div id='wrapper'> <header id='header-wrapper'><b:section class='header' id='header' maxwidgets='1'> <b:widget id='Header1' locked='true' title='Ganteng id (Header)' type='Header'></b:widget> </b:section> </header> <div class='clearfix'/> <aside id='content-wrapper'> <b:section class='main' id='main'>   <b:widget id='Blog1' locked='true' title='Posting Blog' type='Blog'></b:widget> </b:section> </aside> <aside id='sidebar-wrapper'> <b:section class='sidebar' id='sidebar' showaddelement='yes'></b:section> </aside> <div class='clearfix'/> <footer id='footer-wrapper'> <b:section class='footer' id='footer' showaddelement='yes'></b:section> </footer> </div> &lt;!--</body>--&gt; </HTML> 

Sekarang simpan template blog Anda dan lihat hasilnya, seharusnya akan tampak menyerupai gambar di bawah ini.

 Saat ini Anda sedang membaca serial ketiga dari  Membuat Struktur Dasar Template Blog Blogger

Setelah menyimpan template blog Anda, cobalah menutup tab browser yang sedang Anda gunakan.

 Saat ini Anda sedang membaca serial ketiga dari  Membuat Struktur Dasar Template Blog Blogger

Perhatikan peringatan yang muncul seolah Anda belum menyimpan template Anda. Jangan khawatir, pilih saja Leave Page, template Anda sudah tersimpan, kok.

 Saat ini Anda sedang membaca serial ketiga dari  Membuat Struktur Dasar Template Blog Blogger

Peringatan muncul alasannya secara default Blogger akan menambahkan elemen-elemen aksesori di dalam content-wrapper menyerupai kotak komentar, penanggalan posting, posting mobile, sharing button, dan lain-lain.

 Saat ini Anda sedang membaca serial ketiga dari  Membuat Struktur Dasar Template Blog Blogger

Meskipun tidak semua elemen yang ditambahkan tersebut kita gunakan semua, namun sampai kini belum ada yang berhasil menghapus dan mengatur ulang secara total elemen-elemen tersebut. Tapi damai saja, elemen-elemen tersebut sudah saya cek tidak mensugesti validasi maupun kecepatan blog.

Bahkan pada tahap selanjutnya kita juga akan memodifikasi elemen-elemen tersebut.

Silahkan melanjutkan membaca serial keempat panduan menciptakan template blog sendiri berikut : Membuat Menu Navigasi Blog.

Selamat, Anda gres saja menuntaskan serial ketiga dari 11 serial panduan menciptakan template blog sendiri. Pemahaman Anda sudah mencapai 20%. Kini Anda sudah mengerti bagaimana cara menciptakan struktur dasar template blog sederhana.

20%

Sumber https://duarupa.blogspot.com/

Related Posts