self.render("blog/tag.html", posts=posts, tag=tag)
+class YearHandler(base.BaseHandler):
+ def get(self, year):
+ posts = self.backend.blog.get_by_year(year)
+ if not posts:
+ raise tornado.web.HTTPError(404, "There are no posts in %s" % year)
+
+ self.render("blog/year.html", posts=posts, year=year)
+
+
+class HistoryNavigationModule(ui_modules.UIModule):
+ def render(self):
+ return self.render_string("blog/modules/history-navigation.html",
+ years=self.backend.blog.years)
+
+
+class ListModule(ui_modules.UIModule):
+ def render(self, posts):
+ return self.render_string("blog/modules/list.html", posts=posts)
+
+
class PostModule(ui_modules.UIModule):
def render(self, post):
return self.render_string("blog/modules/post.html", post=post)