--- /dev/null
+from django.conf import settings
+from blog.models import BlogEntry, BlogSection
+import re
+
+def content_breadcrumb(request):
+ path = request.path
+ if path[0:len(settings.BLOG_ROOT)] == settings.BLOG_ROOT:
+ breadcrumb = [{'url': u'/', 'title': u'/'}, {'url': settings.BLOG_ROOT, 'title': u'blog'},]
+
+ path = path[len(settings.BLOG_ROOT):]
+
+ parts = path.split('/')
+
+ if parts[0] == "section":
+ # Just need to add the section title to the breadcrumb
+ section = BlogSection.objects.get(slug__exact=parts[1])
+ breadcrumb.append({'url': section.get_absolute_url(), 'title': section.title})
+
+ if len(parts) == 5 and \
+ parts[0].isdigit() and \
+ parts[1].isdigit() and \
+ parts[2].isdigit():
+ # try getting the blog entry
+ try:
+ entry = BlogEntry.objects.get(publish_date__year=int(parts[0]), publish_date__month=int(parts[1]), publish_date__day=int(parts[2]), slug__exact=parts[3])
+ breadcrumb.append({'url': entry.get_absolute_url(), 'title': entry.title})
+ except:
+ breadcrumb.append({'url': 'nowhere', 'title': 'screwed'})
+ pass
+
+ return {
+ 'content_breadcrumb': breadcrumb,
+ }
+ else:
+ return {}