Showing posts with label Blogger. Show all posts
Showing posts with label Blogger. Show all posts

Customize Blogger for a Wedding website & blog


Why choose Blogger?
  1. It's free, speedy and stable.
  2. It's highly customizable and extensible. That's what we need to make a Wedding page as beautiful as we want.
  3. Compare with other Wedding site services, it never expires or has space limitation.
  4. We can make not only a wedding information page but also a blog to memorize special events of our marriage.
What knowledge required?
  1. HTML & CSS programming.
  2. Blogger template understanding (you can reference here).
  3. Web graphic design (know to use a photo editor such as Photoshop).
Sample website: http://bloggerwedding.blogspot.com/.

Download sample.
Step-by-step  (for new Blogger interface-Blogger in Draft)

Step 1: Sketch your design

Example: A Wedding page with a banner on top, a menu on left, content of a page on right and a copyright text at bottom like this picture:

Step 2: Prepare images
Design your website interface, separate top image, background image, bottom image, left, right images, flash images and other stuffs...

Step 3: Make HTML website preview (optional): this step is to help you make a Blogger template easier, you can bypass it if you know how to make Blogger template well.

Step 4: Add pages (such as: About Us, Wedding information, Guest book, Photo Albums, News, Love Story, Our Proposal, Map of Events, Wish List, Honeymoon, Anniversaries, Our Registries, Our Wish List, Our babies...)
  • Go to Pages > create a new page. In Page Options, set Reader comments to Allow or Don't allow as you wish.
  • If you want somebody not having Blogger account to comment, go to Settings > Posts and comments > Who can comment? > choose Anyone.
  • Notes: Homepage / main page of the website is blog posts page.
Step 5: Configure blog posts
Configure number of posts on main page, hide/show other elements as you wish: Layout > Page Elements > go to Blog Posts element, click Edit. Configure options then click Save.
Step 6: Add/remove gadgets as you wish.

Step 7: Make Template XML file
Use existing Template XML file to make new template quickly. Here are some CSS code to hide what you don't want to show on website.
  1. Hide navigation bar:
    #navbar-iframe {
    height:0px;
    visibility:hidden;
    display:none
    }
  2. Hide Posts Atom:
    .blog-feeds {
       height:0px;
       visibility:hidden;
       display:none
    }

  3. Hide Blogger pager:
    #blog-pager {
       height:0px;
       visibility:hidden;
       display:none
    }

  4. Hide Post title if you want:
    .post-title {
       height:0px;
       visibility:hidden;
       display:none
    }

  5. Hide Feed Links:
    .feed-links {
       height:0px;
       visibility:hidden;
       display:none
    }
     
Step 8: Add page links to template
Here are 2 ways to do this:
  1. Add Blogger Pages gadget to show all page links automatically.
  2. Make your own menu of pages: copy URL of each page created at Step 4 to make menu links. For example: Photo Albums page URL "http://bloggerwedding.blogspot.com/p/photo-albums.html" => HTML code: Photo Albums. Paste this code to where you want to place in template.
Step 8: Apply template
Go to Template > click Edit HTML > Paste new template code to Edit HTML text box > click Preview to review and Save when done.

Step 9: Add other stuffs
You can add stuff as a gadget or make HTML code in template.
  1. Wedding countdown tickers: http://daisypath.com/
  2. Pregnancy, baby and parenting tickers: http://lilypie.com
  3. Page counters:
  4. Photo albums: you can use the Picasaweb, Flickr, Photobucket or other Image hosting services to host your wedding photos. Set Photo privacy to Anyone with the link if you don't want to show on public officially but can still embed it in your own website.
  5. Slide shows: Slide.com
  6. Videos: Youtube. Set Video privacy to Anyone with the link if you don't want to show on public officially but can still embed it in your own website.
  7. Polls: Add Blogger gadget "Poll".
  8. Contact form: see http://skyofflowers.blogspot.com/2009/07/contact-form-for-your-website.html

Solution to your deleted Blogger account problem

I find this article very useful (more than Blogger Help!):
http://blogging.nitecruzr.net/2006/09/do-you-really-want-to-delete-your-blog.html
Think carefully before deleting your blog or changing URL!

5 steps to make a Blogger template by yourself

5 steps to make a Blogger template by yourself
blogger template, tutorial, web design

Part 1 - Overview

Step 1: Think to have an idea and outline blog appearance on paper with a pencil

This is the 1st step that most designers should do. It is not an exception for advanced bloggers who want their blogs to be unique. One of factors to make his/her blog unique is appearance/theme/skin of the blog. So, use a pencil to outline what you think and want your blog to be on a paper.

Step 2: Use graphics design tools to make your draft as image

You must know some graphics design tools, for ex: Photoshop...

Find images and use graphics design tools to make overview of your blog as image.

Step 3: Use web design tools to make your blog as HTML web page

You must know some web design tools, for ex: Dreamweaver, Fontpage... and HTML & CSS.

Prepare the images (slice a big image into pieces if required...). Use HTML and CSS to position and connect all parts of a page. You can use available templates to modify. FreeCSSTemplates has many templates ready for you.

Step 4: Make Blogger template

You must know XML and structure of a Blogger template. You can use existing Blogger template to modify.

Step 5: Apply new Blogger template to your blog

Part 2 - Structure of a Blogger template


Blogger template is an XML document. Root is <html> containing 2 parts:
  1. <head>: blog title & skin data (Variable definitions & CSS)
  2. <body>: blog content including blog header, blog posts, sidebar (contains widgets) and blog footer
* <b:skin>:

1. Variable definitions for using in CSS

<Variable name="variable_name" description="..." type="colorfontautomatic" default="default_value" value="...">

* Usage: $variable_name2. CSS

* Global definitions: *, body, h1, h2, h3, h4, p, blockquote, code, hr, ol, ul, ul li, a, a:hover, a:visited, img...

* CSS layout for 2-column blog (blog posts on left, sidebar on right):

#outer-wrapper
|--#header-wrapper
| |--#header-inner
|--#content-wrapper
| |--#main-wrapper
| | |--#main
| | | |--.post
| | | |--.post-title
| | | |--.post-body
| | | |--.post-footer
| | | |--.post-labels
| | | |--.timestamp-link
| | | |--.comment-link
| | | |--#comments
| | | | |--h4: num of Comments
| | | | |--#comments-block
| | | | | |--.comment-author
| | | | | |--.comment-body
| | | | | |--.comment-timestamp
| | | |--#blog-pager
| | | | |--#home-link
| | | | |--#blog-pager-older-link
| | | | |--#blog-pager-newer-link
| | | |--.feed-links
| |--#sidebar-wrapper
| | |--#sidebar
| | | |--.widget
| | | | |--h2: widget title
| | | | |--.widget-content
|--#footer-wrapper
| |--#footer

* <body> details may be customized as you like. The following structure is a basic structure of a Blogger template:

outer-wrapper
|-- wrap2
| |-- header-wrapper
| | |-- section id='header'
| | | |-- widget type='Header'
| | | | |-- includable id='main'
| | | | |-- header-inner
| |-- content-wrapper
| | |-- crosscol-wrapper
| | |-- main-wrapper
| | | |-- section id='main'
| | | | |-- widget type='Blog'
| | | | | |-- includable id='nextprev'
| | | | | | |-- blog-pager
| | | | | | | |-- blog-pager-newer-link
| | | | | | | |-- blog-pager-older-link
| | | | | | | |-- home-link
| | | | | |-- includable id='backlinks'
| | | | | |-- includable id='post'
| | | | | | |-- post hentry
| | | | | | | |-- <h3 class='post-title entry-title'></h3>
| | | | | | | |-- post-body entry-content
| | | | | | | |-- post-footer
| | | | | | | | |-- post-author vcard
| | | | | | | | |-- post-timestamp
| | | | | | | | | |-- timestamp-link
| | | | | | | | |-- post-comment-link
| | | | | | | | | |-- comment-link
| | | | | | | | |-- post-icons
| | | | | | | | |-- post-labels
| | | | | |-- includable id='commentDeleteIcon'
| | | | | |-- includable id='status-message'
| | | | | |-- includable id='feedLinks'
| | | | | |-- includable id='comment-form'
| | | | | |-- includable id='backlinkDeleteIcon'
| | | | | |-- includable id='feedLinksBody'
| | | | | |-- includable id='postQuickEdit'
| | | | | |-- includable id='comments'
| | | | | | |-- <h4>data:post.numComments</h4>
| | | | | | |-- paging-control-container
| | | | | | |-- comments-block
| | | | | | | |-- comment-author
| | | | | | | |-- comment-body
| | | | | | | |-- comment-footer
| | | | | | | | |-- comment-timestamp
| | | | | | |-- paging-control-container
| | | | | | |-- comment-footer
| | | | | | | |-- data:postCommentMsg
| | | | | | |-- backlinks-container
| | | | | |-- includable id='main'
| | |-- sidebar-wrapper
| | | |-- section id='sidebar': contains all widgets, each widget is in <b:widget> </b:widget> tag. Here are some typical widgets:
| | | | |-- widget type='BlogArchive'
| | | | | |-- includable id='main'
| | | | | | |-- <h2>widget title</h2>
| | | | | | |-- widget-content
| | | | |-- widget type='Label'
| | | | |-- widget type='HTML'
| | | | |-- widget type='LinkList'
| | | | |-- ...
| |-- footer-wrapper
| | |-- section id='footer'

| | |-- anything you want to display at the bottom of blog page

* b namespace:

<b:skin> to define template style, including variable definitions and CSS
<b:section> contains zero or many <b:widget>
<b:widget> contains one or many <b:includable>

<b:section>
| <b:widget>
| | <b:includable>...</b:includable>
| | |...
| | <b:includable>...</b:includable>
| </b:widget>
| ...
| <b:widget>
| | <b:includable>...</b:includable>
| | |...
| | <b:includable>...</b:includable>
| </b:widget>
</b:section>

* Conditional structure:

<b:if cond='...'>
do something if condition is true...
<b:else/>
do something if condition is false...
</b:if>

* Iteration structure:

<b:loop values='...' var='...'>
do something if condition is true...
</b:loop>

* data namespace:
  • data:blog.pageTitle: blog name, blog title
  • data:blog.homepageUrl: blog homepage Url
  • data:blog.url
  • data:description
  • data:homeMsg
  • data:newerPageUrl
  • data:newerPageTitle
  • data:widget.instanceId
  • data:olderPageUrl
  • data:olderPageTitle
  • data:post.backlinksLabel
  • data:post.numBacklinks
  • data:post.backlinks
  • data:backlink.url
  • data:backlink.title
  • data:backlink.snippet
  • data:post.authorLabel
  • data:backlink.author
  • data:post.timestampLabel
  • data:backlink.timestamp
  • data:post.createLinkUrl
  • data:post.createLinkLabel
  • data:post.id
  • data:post.title
  • data:post.link
  • data:post.url
  • data:post.body
  • data:top.showAuthor
  • data:top.authorLabel
  • data:post.author
  • data:top.showTimestamp
  • data:top.timestampLabel
  • data:post.timestampISO8601
  • data:post.timestamp
  • data:blog.pageType
  • data:post.allowComments
  • data:post.addCommentUrl
  • data:post.addCommentOnclick
  • data:post.numComments
  • data:top.commentLabel
  • data:top.commentLabelPlural
  • data:post.emailPostUrl
  • data:top.emailPostMsg
  • data:post.labels
  • data:postLabelsLabel
  • data:label.url
  • data:label.name
  • data:label.isLast
  • data:comment.adminClass
  • data:comment.deleteUrl
  • data:top.deleteCommentMsg
  • data:navMessage
  • data:feedLinks
  • data:posts
  • data:post.feedLinks
  • data:postCommentMsg
  • data:blogCommentMessage
  • data:post.commentFormIframeSrc
  • data:backlink.adminClass
  • data:backlink.deleteUrl
  • data:top.deleteBacklinkMsg
  • data:feedLinksMsg
  • data:links
  • data:f.url
  • data:f.mimeType
  • data:f.name
  • data:f.feedType
  • data:post.editUrl
  • data:post.adminClass
  • data:post.editUrl
  • data:top.editPostMsg
  • data:post.commentPagingRequired
  • data:post.oldLinkClass
  • data:post.oldestLinkUrl
  • data:post.oldestLinkText
  • data:post.olderLinkUrl
  • data:post.olderLinkText
  • data:post.newLinkClass
  • data:post.newerLinkUrl
  • data:post.newerLinkText
  • data:post.newestLinkUrl
  • data:post.newestLinkText
  • data:post.comments
  • data:comment.authorClass
  • data:comment.anchorName
  • data:comment.authorUrl
  • data:comment.author
  • data:commentPostedByMsg
  • data:comment.isDeleted
  • data:comment.body
  • data:comment.url
  • data:comment.timestamp
  • data:post.embedCommentForm
  • data:post.showBacklinks
  • data:posts
  • data:post.dateHeader
  • data:post.includeAd
  • data:adEnd
  • data:adCode
  • data:adStart
  • data:top.showStars
  • data:top.languageCode
  • data:top.blogspotReviews
  • data:title
  • data:content
  • data:link
  • data:height
  • data:sourceUrl
  • data:caption
  • data:style
  • data:data
  • data:i.url
  • data:i.name
  • data:i.post-count
  • data:intervalData
  • data:i.expclass
  • data:i.data
  • data:i.posts
  • data:interval.toggleId
  • data:interval.expclass
  • data:widget.actionUrl
  • data:interval.toggleId
  • data:toggleopen
  • data:blog.languageDirection
  • data:labels
  • data:label.name
  • data:label.url
  • data:label.count
  • data:links
  • data:link.target
  • data:link.name
To use data within HTML tag, add prefix "expr:" to HTML tag atttribute. For ex: <a expr:href='data:blog.homepageUrl' expr:title='data:blog.pageTitle'><data:blog.pageTitle/><a>

Part 3 - Using Blogger template

* Apply a blogger template:
  • After making or downloading a blogger template as XML file, open the file and copy file content to clipboard.
  • Go to Layout -> Edit HTML -> paste content to Edit Template text box.
  • Click Preview to see the preview of new template, or click Save Template to apply new template, or click Clear Edits to reverse old template.
* Backup/Restore template:
  • Go to Layout -> Edit HTML -> Backup/Restore Template -> click Download Full Template to backup your current template.
  • Go to Layout -> Edit HTML -> Backup/Restore Template -> Browse template file and click Upload to restore a template.
Part 4 - Tips

* To hide Blogger navigation bar, include this definition in CSS section:

#navbar-iframe {
height:0px;
visibility:hidden;
display:none
}

* Use Firebug (a plugin of Firefox) to explore the structure of any web page as well as blogger page and it will help you make CSS.