+ 'award_count': award_count,
+ 'awards' : awards,
+ 'badge' : badge,
+ }, context_instance=RequestContext(request))
+
+def page(request):
+ path = request.path[1:]
+
+ if path in settings.STATIC_PAGE_REGISTRY:
+ try:
+ page = Page.objects.get(id=settings.STATIC_PAGE_REGISTRY[path])
+
+ if (not page.published) and (not request.user.is_superuser):
+ return HttpResponseNotFound(request)
+ except:
+ return HttpResponseNotFound(request)
+ else:
+ return HttpResponseNotFound(request)
+
+ template = page.extra.get('template', 'default')
+ sidebar = page.extra.get('sidebar', '')
+
+ if template == 'default':
+ base = 'base_content.html'
+ elif template == 'sidebar':
+ base = 'base.html'
+
+ sidebar_render = page.extra.get('render', 'markdown')
+
+ if sidebar_render == 'markdown':
+ sidebar = page._as_markdown(sidebar)
+ elif sidebar_render == 'html':
+ sidebar = mark_safe(sidebar)
+
+ else:
+ return HttpResponse(page.body, mimetype=page.extra.get('mimetype', 'text/html'))
+
+ render = page.extra.get('render', 'markdown')
+
+ if render == 'markdown':
+ body = page.as_markdown()
+ elif render == 'html':
+ body = mark_safe(page.body)
+ else:
+ body = page.body
+
+ return render_to_response('page.html', {
+ 'page' : page,
+ 'body' : body,
+ 'sidebar': sidebar,
+ 'base': base,