diff --git a/erpnext/website/css/website.css b/erpnext/website/css/website.css
index ad8702a..fa27d4a 100644
--- a/erpnext/website/css/website.css
+++ b/erpnext/website/css/website.css
@@ -1,9 +1,10 @@
-div#body_div, header .container, .content, #opened-page-selector, footer {
+header .container, .content {
 	width: 900px;
 }
 
 div#body_div {
-	margin-top: 90px;
+	padding-top: 90px;
+	min-height: 400px;
 }
 
 p, li {
@@ -62,19 +63,23 @@
 	background-color: #444;
 }
 
+
 footer {
-	color: #777;	
+	background-color: #eee;
+	box-shadow: inset 0 10px 10px rgba(0,0,0,0.3), inset 0 3px 3px rgba(0,0,0,0.3);
+	border-top: 1px solid #555;
+	padding-top: 10px;
+	text-align: center;
 }
 
 .web-footer {
 	color: inherit;
-	text-align: center;
-	margin: 10px;
+	padding: 10px;
 	line-height: 1.7;
 }
 
 .web-footer div, .web-footer a {
-	font-size: 14px;
+	font-size: 12px;
 }
 
 .web-footer-menu {
@@ -93,10 +98,20 @@
 	border-right: 1px solid #999;
 }
 
+.web-footer-menu ul li:first-child {
+	padding-left: 0px;
+}
+
 .web-footer-menu ul li:last-child {
 	border-right: 0px solid #777 !important;
 }
 
+.web-footer-powered {
+	color: #888;
+	float: right;
+	margin-top: -12px;
+}
+
 /* slide view */
 
 .next-slide {
diff --git a/erpnext/website/doctype/blog/blog.py b/erpnext/website/doctype/blog/blog.py
index 1f1b98b..c78a9cc 100644
--- a/erpnext/website/doctype/blog/blog.py
+++ b/erpnext/website/doctype/blog/blog.py
@@ -32,9 +32,11 @@
 		self.doc.name = website.utils.page_name(self.doc.title)
 	
 	def validate(self):
-		"""write/update 'Page' with the blog"""		
+		"""write/update 'Page' with the blog"""
+		if self.doc.page_name:
+			webnotes.conn.sql("""delete from tabPage where name=%s""", self.doc.page_name)
+		
 		p = website.utils.add_page(self.doc.title)
-		self.doc.name = p.name
 		
 		from jinja2 import Template
 		import markdown2
@@ -54,11 +56,11 @@
 		p.save()
 		
 		website.utils.add_guest_access_to_page(p.name)
+		self.doc.page_name = p.name
 		
 		# cleanup
 		for f in ['content_html', 'full_name', 'updated']:
 			if f in self.doc.fields:
-				del self.doc.fields[f]
-				
+				del self.doc.fields[f]				
 
 			
\ No newline at end of file
diff --git a/erpnext/website/doctype/blog/blog.txt b/erpnext/website/doctype/blog/blog.txt
index f9ff6fd..ad44d13 100644
--- a/erpnext/website/doctype/blog/blog.txt
+++ b/erpnext/website/doctype/blog/blog.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:36:47',
+		'creation': '2012-04-02 16:02:43',
 		'docstatus': 0,
-		'modified': '2012-03-27 14:36:47',
+		'modified': '2012-04-26 16:58:27',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -21,7 +21,7 @@
 		'name': '__common__',
 		'section_style': u'Simple',
 		'show_in_menu': 0,
-		'version': 3
+		'version': 5
 	},
 
 	# These values are common for all DocField
@@ -35,15 +35,12 @@
 
 	# These values are common for all DocPerm
 	{
-		'create': 1,
 		'doctype': u'DocPerm',
 		'name': '__common__',
 		'parent': u'Blog',
 		'parentfield': u'permissions',
 		'parenttype': u'DocType',
-		'permlevel': 0,
-		'read': 1,
-		'write': 1
+		'read': 1
 	},
 
 	# DocType, Blog
@@ -54,14 +51,27 @@
 
 	# DocPerm
 	{
+		'create': 1,
 		'doctype': u'DocPerm',
-		'role': u'Website Manager'
+		'permlevel': 0,
+		'role': u'Website Manager',
+		'write': 1
+	},
+
+	# DocPerm
+	{
+		'create': 1,
+		'doctype': u'DocPerm',
+		'permlevel': 0,
+		'role': u'Blogger',
+		'write': 1
 	},
 
 	# DocPerm
 	{
 		'doctype': u'DocPerm',
-		'role': u'Blogger'
+		'permlevel': 1,
+		'role': u'All'
 	},
 
 	# DocField
@@ -70,7 +80,8 @@
 		'fieldname': u'title',
 		'fieldtype': u'Data',
 		'label': u'Title',
-		'permlevel': 0
+		'permlevel': 0,
+		'reqd': 1
 	},
 
 	# DocField
@@ -88,7 +99,8 @@
 		'fieldname': u'content',
 		'fieldtype': u'Code',
 		'label': u'Content',
-		'permlevel': 0
+		'permlevel': 0,
+		'reqd': 0
 	},
 
 	# DocField
@@ -96,13 +108,22 @@
 		'doctype': u'DocField',
 		'fieldname': u'content_html',
 		'fieldtype': u'Text',
-		'label': u'Preview',
+		'label': u'Content HTML',
 		'permlevel': 1
 	},
 
 	# DocField
 	{
 		'doctype': u'DocField',
+		'fieldname': u'page_name',
+		'fieldtype': u'Data',
+		'label': u'Page Name',
+		'permlevel': 0
+	},
+
+	# DocField
+	{
+		'doctype': u'DocField',
 		'fieldname': u'file_list',
 		'fieldtype': u'Text',
 		'hidden': 1,
diff --git a/erpnext/website/doctype/blog/blog_page.js b/erpnext/website/doctype/blog/blog_page.js
index aa3f4c5..dddc6e0 100644
--- a/erpnext/website/doctype/blog/blog_page.js
+++ b/erpnext/website/doctype/blog/blog_page.js
@@ -18,32 +18,28 @@
 
 pscript['onload_{{ doc.name }}'] = function(wrapper) {
 	// sidebar
-	var side = $(wrapper).find('.web-side-section')
-		.append('<h4>Recent Posts</h4>').get(0);
-		
 	wrapper.recent_list = new wn.ui.Listing({
-		parent: side,
+		parent: $(wrapper).find('.recent-posts'),
+		no_toolbar: true,
 		query: 'select name, title, left(content, 100) as content from tabBlog\
-			where ifnull(published,1)=1',
+			where ifnull(published,0)=1 and name!="{{ doc.name }}" order by modified desc',
 		hide_refresh: true,
 		render_row: function(parent, data) {
-			if(data.content.length==100) data.content += '...';
+			console.log(data);
+			if(data.content && data.content.length==100) data.content += '...';
 			parent.innerHTML = repl('<a href="#!%(name)s">%(title)s</a>\
 				<div class="comment">%(content)s</div><br>', data);
 		},
-		page_length: 5
+		page_length: 5,
 	});
 	wrapper.recent_list.run();
-	
-	
-	// comments
-	$(wrapper).find('.web-main-section').append('<hr><h3>Comments</h3>');
-
+		
 	wrapper.comment_list = new wn.ui.Listing({
-		parent: $(wrapper).find('.web-main-section').get(0),
+		parent: $(wrapper).find('.blog-comments').get(0),
+		no_toolbar: true,
 		query: 'select comment, comment_by_fullname, modified\
 			from `tabComment` where comment_doctype="Page"\
-			and comment_docname="{{ doc.name }}"',
+			and comment_docname="{{ doc.name }}" order by modified desc',
 		no_result_message: 'Be the first one to comment',
 		render_row: function(parent, data) {
 			data.comment_date = prettyDate(data.modified);
@@ -57,7 +53,7 @@
 	wrapper.comment_list.run();
 	
 	// add comment
-	$(wrapper).find('.web-main-section').append('<br><button class="btn add-comment">\
+	$(wrapper).find('.layout-main-section').append('<br><button class="btn add-comment">\
 		Add Comment</button>');
 	$(wrapper).find('button.add-comment').click(function(){
 		d = new wn.widgets.Dialog({
diff --git a/erpnext/website/doctype/blog/template.html b/erpnext/website/doctype/blog/template.html
index 467f301..688ffac 100644
--- a/erpnext/website/doctype/blog/template.html
+++ b/erpnext/website/doctype/blog/template.html
@@ -1,14 +1,18 @@
 <div class="layout-wrapper layout-wrapper-background">
 	<div class="web-content" id="blog-{{ doc.name }}">
 		<div class="layout-main-section">
-			<h1>Blog</h1>
-			<h3>{{ doc.title }}</h3>
+			<h2>{{ doc.title }}</h2>
 			<div class="help">By {{ doc.full_name }} on {{ doc.updated }}</div>
 			<br>
 			{{ doc.content_html }}
+			<hr><h3>Comments</h3>
+			<br>
+			<div class="blog-comments"></div>
 		</div>
 		<div class="layout-side-section">
 			<p><a href="#!blog">All Blogs</a></p>
+			<h4>Recent Posts</h4>
+			<div class="recent-posts" style="min-height: 100px;"></div>
 			<h4>Subscribe</h4>
 			<p>
 				<img src="images/feed.png" style="margin-right: 4px; margin-bottom: -4px">
diff --git a/erpnext/website/doctype/style_settings/custom_template.css b/erpnext/website/doctype/style_settings/custom_template.css
index 8c987f8..4866ac7 100644
--- a/erpnext/website/doctype/style_settings/custom_template.css
+++ b/erpnext/website/doctype/style_settings/custom_template.css
@@ -1,4 +1,4 @@
-body {
+#body_div {
 {% if doc.background_image %}
 	background: url("files/{{ doc.background_image }}") repeat;
 {% elif doc.background_color %}
diff --git a/erpnext/website/doctype/web_page/template.html b/erpnext/website/doctype/web_page/template.html
index 471c95c..b66aded 100644
--- a/erpnext/website/doctype/web_page/template.html
+++ b/erpnext/website/doctype/web_page/template.html
@@ -28,6 +28,3 @@
 		<div style="clear: both"></div>
 	</div>
 </div>
-<div class="web-page-status small">
-	Last Modified: {{ doc.updated }} <a href="#contact">Feedback</a>
-</div>
diff --git a/erpnext/website/doctype/web_page/web_page.js b/erpnext/website/doctype/web_page/web_page.js
index 0b7b78d..17e7f15 100644
--- a/erpnext/website/doctype/web_page/web_page.js
+++ b/erpnext/website/doctype/web_page/web_page.js
@@ -24,10 +24,10 @@
 	refresh: function(doc) {
 		cur_frm.cscript.layout(doc);
 	},
-	insert_style: function() {
+	insert_style: function(doc) {
 		cur_frm.cscript.layout(doc);		
 	},
-	insert_code: function() {
+	insert_code: function(doc) {
 		cur_frm.cscript.layout(doc);		
 	}
 })
\ No newline at end of file
diff --git a/erpnext/website/js/topbar.js b/erpnext/website/js/topbar.js
index aec0f02..8caf8dc 100644
--- a/erpnext/website/js/topbar.js
+++ b/erpnext/website/js/topbar.js
@@ -91,8 +91,7 @@
 	init: function() {
 		$('footer').html(repl('<div class="web-footer">\
 			<div class="web-footer-menu"><ul></ul></div>\
-			<div class="web-footer-address">%(address)s</div>\
-			<div class="web-footer-copyright">&copy; %(copyright)s</div>\
+			<div class="web-footer-copyright">&copy; %(copyright)s | %(address)s</div>\
 			<div class="web-footer-powered">Powered by \
 				<a href="https://erpnext.com">erpnext.com</a></div>\
 		</div>', wn.boot.website_settings));
diff --git a/erpnext/website/page/blog/blog.html b/erpnext/website/page/blog/blog.html
index ffb8128..8d7cd00 100644
--- a/erpnext/website/page/blog/blog.html
+++ b/erpnext/website/page/blog/blog.html
@@ -3,6 +3,7 @@
 		<div class="layout-main-section">
 			<h1>Blog</h1>
 			<br>
+			<div id="blog-list"></div>
 		</div>
 		<div class="layout-side-section">
 			<!-- for later
diff --git a/erpnext/website/page/blog/blog.js b/erpnext/website/page/blog/blog.js
index 418fc6c..3836f90 100644
--- a/erpnext/website/page/blog/blog.js
+++ b/erpnext/website/page/blog/blog.js
@@ -17,18 +17,22 @@
 
 pscript.onload_blog = function(wrapper) {
 	wrapper.blog_list = new wn.ui.Listing({
-		parent: $(wrapper).find('.layout-main-section').get(0),
-		query: 'select tabBlog.name, title, left(content, 300) as content, tabBlog.modified, \
+		parent: $(wrapper).find('#blog-list').get(0),
+		query: 'select tabBlog.name, title, left(content, 1000) as content, tabBlog.modified, \
 			ifnull(first_name, "") as first_name, ifnull(last_name, "") as last_name \
 			from tabProfile, tabBlog\
-		 	where ifnull(published,1)=1 and tabBlog.owner = tabProfile.name',
+		 	where ifnull(published,0)=1 and tabBlog.owner = tabProfile.name',
 		hide_refresh: true,
+		no_toolbar: true,
 		render_row: function(parent, data) {
-			if(data.content.length==300) data.content += '...';
+			if(data.content && data.content.length==1000) data.content += '... (read on)';
+			data.content = wn.markdown(data.content);
+			if(data.last_name) data.last_name = ' ' + data.last_name;
 			data.date = prettyDate(data.modified);
-			parent.innerHTML = repl('<h3><a href="#!%(name)s">%(title)s</a></h3>\
-				<p><div class="help">By %(first_name)s %(last_name)s on %(date)s</div></p>\
-				<div class="comment">%(content)s</div><br>', data);
+			parent.innerHTML = repl('<h2>%(title)s</h2>\
+				<p><div class="help">By %(first_name)s%(last_name)s, %(date)s</div></p>\
+				<p>%(content)s</p>\
+				<a href="#!%(name)s">Read Full Text</a><br>', data);
 		},
 		page_length: 10
 	});
