Merge branch 'master' into edge
diff --git a/startup/website.py b/startup/website.py
index be8eba6..5e6c311 100644
--- a/startup/website.py
+++ b/startup/website.py
@@ -1,5 +1,5 @@
 import webnotes, conf, os
-from webnotes.utils import cint, cstr
+from webnotes.utils import cint, cstr, encode
 
 def get_templates_path():
 	return os.path.join(os.path.dirname(conf.__file__), "app", "website", "templates")
@@ -72,7 +72,7 @@
 		args[k] = cint(args.get(k) or 0)
 	
 	args.url = quote(str(get_request_site_address(full_address=True)), str(""))
-	args.encoded_title = quote(str(args.title or ""), str(""))
+	args.encoded_title = quote(encode(args.title or ""), str(""))
 	
 	return args
 	
\ No newline at end of file
diff --git a/website/doctype/website_slideshow/website_slideshow.py b/website/doctype/website_slideshow/website_slideshow.py
index 928aa9f..86bd2a0 100644
--- a/website/doctype/website_slideshow/website_slideshow.py
+++ b/website/doctype/website_slideshow/website_slideshow.py
@@ -5,4 +5,9 @@
 
 class DocType:
 	def __init__(self, d, dl):
-		self.doc, self.doclist = d, dl
\ No newline at end of file
+		self.doc, self.doclist = d, dl
+		
+	def on_update(self):
+		# a slide show can be in use and any change in it should get reflected
+		from webnotes.webutils import clear_cache
+		clear_cache()
\ No newline at end of file
diff --git a/website/helpers/blog_feed.py b/website/helpers/blog_feed.py
index 41c203e..c79c5cc 100644
--- a/website/helpers/blog_feed.py
+++ b/website/helpers/blog_feed.py
@@ -49,9 +49,10 @@
 
 def generate():
 	"""generate rss feed"""
-	import webnotes, os
+	import os, urllib
+	import webnotes
 	from webnotes.model.doc import Document
-	from website.helpers.blog import get_blog_content
+	from webnotes.utils import escape_html
 	
 	host = (os.environ.get('HTTPS') and 'https://' or 'http://') + os.environ.get('HTTP_HOST')
 	
@@ -62,7 +63,8 @@
 		order by published_on desc limit 20""", as_dict=1)
 
 	for blog in blog_list:
-		blog.link = host + '/' + blog.name + '.html'
+		blog.link = urllib.quote(host + '/' + blog.name + '.html')
+		blog.content = escape_html(blog.content or "")
 		
 		items += rss_item % blog
 
diff --git a/website/helpers/sitemap.py b/website/helpers/sitemap.py
index c8b6fd0..3956da1 100644
--- a/website/helpers/sitemap.py
+++ b/website/helpers/sitemap.py
@@ -2,6 +2,7 @@
 # License: GNU General Public License (v3). For more information see license.txt
 
 from __future__ import unicode_literals
+
 frame_xml = """<?xml version="1.0" encoding="UTF-8"?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">%s
 </urlset>"""
@@ -32,10 +33,11 @@
 		
 			for p in pages:
 				if count >= max_items: break
-				page_url = os.path.join(domain, urllib.quote(p[0]))
-				modified = p[1].strftime('%Y-%m-%d')
-				site_map += link_xml % (page_url, modified)
-				count += 1
+				if p[0]:
+					page_url = os.path.join(domain, urllib.quote(p[0]))
+					modified = p[1].strftime('%Y-%m-%d')
+					site_map += link_xml % (page_url, modified)
+					count += 1
 				
 			if count >= max_items: break
 		
diff --git a/website/templates/html/slideshow.html b/website/templates/html/slideshow.html
index e0e9038..b26338c 100644
--- a/website/templates/html/slideshow.html
+++ b/website/templates/html/slideshow.html
@@ -8,7 +8,7 @@
 			{% if slide.heading or slide.description %}
 			<div class="carousel-caption">
 				{% if slide.heading %}<h4>{{ slide.heading }}</h4>{% endif %}
-				{% if slide.heading %}<p>{{ slide.description }}</p>{% endif %}
+				{% if slide.description %}<p>{{ slide.description }}</p>{% endif %}
 			</div>
 			{% endif %}
 		</div>