Task List
---------
[*] Implement basic blog with design elements the same (Just an entry)
[*] Add comments
[*] Add tagging
[*] Implement markdown/restructuredtext as a filter against what is stored in entry.
[*] Implement generic views for date based archives
[*] Style comment form
[*] Style comments
[*] Add RSS feeds (all and by tag)
[*] Add a XML-RPC interface compatible with Mars Edit, similar to what is available on WordPress.
[*] Add Google Analytics
[*] Clean up styles as some areas look pretty rough.
[ ] Add WMD editor in admin
[ ] Add Pingback support (http://en.wikipedia.org/wiki/Pingback). (see: http://hg.piranha.org.ua/django-pingback/)
[ ] Add support for integrating Twitter posts. Is there a django-twitter project? (see: http://www.djangosnippets.org/snippets/593/ and )
[*] Get comment moderation working (akismet, email notification, etc.)
[ ] Add flatpage support/templates (About, Resume, etc).
[ ] Who links here? (adapt this http://www.djangosnippets.org/snippets/197/)
[ ] Add caching for blog posts (no sense in going to the database every time a blog post is requested)
[ ] Clean up django_xmlrpc code. Is it needed? Is it better to just use the original as a dependancy rather than included in the tree?
[ ] Fix bug with trying to use Site object to determine hostname with the latest twitter integration:
Traceback (most recent call last):, referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1537, in HandlerDispatch\n default=default_handler, arg=req, silent=hlist.silent), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1229, in _process_target\n result = _execute_target(config, req, object, arg), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line 1128, in _execute_target\n result = object(arg), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/core/handlers/modpython.py", line 228, in handler\n return ModPythonHandler()(req), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/core/handlers/modpython.py", line 201, in __call__\n response = self.get_response(request), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 67, in get_response\n response = middleware_method(request), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/middleware/common.py", line 56, in process_request\n if (not _is_valid_path(request.path_info) and, referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/middleware/common.py", line 142, in _is_valid_path\n urlresolvers.resolve(path), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py", line 246, in resolve\n return get_resolver(urlconf).resolve(path), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py", line 179, in resolve\n for pattern in self.urlconf_module.urlpatterns:, referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py", line 198, in _get_urlconf_module\n self._urlconf_module = __import__(self.urlconf_name, {}, {}, ['']), referer: http://paltman.com/
File "/var/www/paltman.com-sb/shiftingbits/shiftingbits/urls.py", line 5, in <module>\n from shiftingbits.blog.models import Post, referer: http://paltman.com/
File "/var/www/paltman.com-sb/shiftingbits/shiftingbits/blog/models.py", line 13, in <module>\n site = Site.objects.get(id=1) ## There has got to be a smoother way of doing this., referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/manager.py", line 93, in get\n return self.get_query_set().get(*args, **kwargs), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/query.py", line 303, in get\n clone = self.filter(*args, **kwargs), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/query.py", line 489, in filter\n return self._filter_or_exclude(False, *args, **kwargs), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/query.py", line 507, in _filter_or_exclude\n clone.query.add_q(Q(*args, **kwargs)), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/sql/query.py", line 1248, in add_q\n can_reuse=used_aliases), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/sql/query.py", line 1123, in add_filter\n negate=negate, process_extras=process_extras), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/sql/query.py", line 1299, in setup_joins\n field, model, direct, m2m = opts.get_field_by_name(name), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/options.py", line 281, in get_field_by_name\n cache = self.init_name_map(), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/options.py", line 311, in init_name_map\n for f, model in self.get_all_related_m2m_objects_with_model():, referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/options.py", line 388, in get_all_related_m2m_objects_with_model\n cache = self._fill_related_many_to_many_cache(), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/options.py", line 402, in _fill_related_many_to_many_cache\n for klass in get_models():, referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/loading.py", line 136, in get_models\n self._populate(), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/loading.py", line 57, in _populate\n self.load_app(app_name, True), referer: http://paltman.com/
File "/usr/lib/python2.5/site-packages/django/db/models/loading.py", line 72, in load_app\n mod = __import__(app_name, {}, {}, ['models']), referer: http://paltman.com/
File "/var/www/paltman.com-sb/shiftingbits/shiftingbits/../shiftingbits/contrib/django_xmlrpc/__init__.py", line 40, in <module>\n from views import xmlrpcdispatcher, referer: http://paltman.com/
File "/var/www/paltman.com-sb/shiftingbits/shiftingbits/../shiftingbits/contrib/django_xmlrpc/views.py", line 130, in <module>\n + "module %s can't be imported." % module, referer: http://paltman.com/
ImproperlyConfigured: Error registering XML-RPC method: module shiftingbits.blog.xmlrpc.pub can't be imported., referer: http://paltman.com/