| 
					
				 | 
			
			
				@@ -147,20 +147,29 @@ class Tag(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         context = GLOBAL_TEMPLATE_CONTEXT.copy() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         context['tag'] = self 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        context['entries'] = self.entries 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         context['entries'] = _sort_entries(self.entries) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        destination = "%s/tags/%s" % (CONFIG['output_to'], self.slug) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        template = jinja_env.get_template('tag_index.html') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        html = template.render(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        file = codecs.open("%s/index.html" % destination, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                           'w', CONFIG['content_encoding']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        file.write(html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        file.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        render_atom_feed(context['entries'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                         render_to="%s/atom.xml" % destination) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sorted_entries = _sort_entries(self.entries) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        encoding = CONFIG['content_encoding'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        render_to = "%s/tags/%s" % (CONFIG['output_to'], self.slug) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        jobs = [{'tname': 'tag_index.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'output': codecs.open("%s/index.html" % render_to, 'w', encoding), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                'entries': sorted_entries}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {'tname': 'atom.xml', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 'output': codecs.open("%s/atom.xml" % render_to, 'w', encoding), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 'entries': sorted_entries[:10]} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for j in jobs: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            template = jinja_env.get_template(j['tname']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            context['entries'] = j['entries'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            html = template.render(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            j['output'].write(html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            j['output'].close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return True 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class Entry(object): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def __init__(self, path): 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -332,21 +341,6 @@ def _sort_entries(entries): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return list(reversed(sorted(entries, key=operator.attrgetter('date')))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def render_index(entries): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    this function renders the main page located at index.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    under oz123.github.com 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    context = GLOBAL_TEMPLATE_CONTEXT.copy() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    context['entries'] = entries[:10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    template = jinja_env.get_template('entry_index.html') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    html = template.render(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination = codecs.open("%s/index.html" % CONFIG[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              'output_to'], 'w', CONFIG['content_encoding']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination.write(html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def render_archive(entries, render_to=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this function creates the archive page 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -365,18 +359,6 @@ def render_archive(entries, render_to=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     destination.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-def render_atom_feed(entries, render_to=None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    context = GLOBAL_TEMPLATE_CONTEXT.copy() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    context['entries'] = entries[:10] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    template = jinja_env.get_template('atom.xml') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    html = template.render(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if not render_to: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        render_to = "%s/atom.xml" % CONFIG['output_to'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination = codecs.open(render_to, 'w', CONFIG['content_encoding']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination.write(html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def find_new_posts(posts_table): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Walk content dir, put each post in the database 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -400,16 +382,21 @@ def update_index(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """find the last 10 entries in the database and create the main 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     page. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     Each entry in has an eid, so we only get the last 10 eids. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    This method also update the ATOM feed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     entries = _get_last_entries() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     context = GLOBAL_TEMPLATE_CONTEXT.copy() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     context['entries'] = entries 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    template = jinja_env.get_template('entry_index.html') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    html = template.render(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination = codecs.open("%s/index.html" % CONFIG[ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              'output_to'], 'w', CONFIG['content_encoding']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination.write(html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    destination.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for name, out in {'entry_index.html': 'index.html', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      'atom.xml': 'atom.xml'}.items(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        template = jinja_env.get_template(name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        html = template.render(context) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        destination = codecs.open("%s/%s" % (CONFIG['output_to'], out), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  'w', CONFIG['content_encoding']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        destination.write(html) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        destination.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def new_build(): 
			 |