+# -*- coding: utf-8 -*-
+
from base import *
import re
from tag import Tag
import markdown
+from django.utils.encoding import smart_unicode
from django.utils.translation import ugettext as _
from django.utils.safestring import mark_safe
from django.utils.html import strip_tags
return auto_user_link(self, self._as_markdown(content, *['auto_linker']))
@classmethod
- def _as_markdown_raw(cls, content, *extensions):
+ def _as_markdown(cls, content, *extensions):
try:
return mark_safe(sanitize_html(markdown.markdown(content, extensions=extensions)))
except Exception, e:
str(e), cls.__name__, str(e), traceback.format_exc()))
return ''
- # Replace \ with \\ to preserve backslashes during markdown processing
- @classmethod
- def _as_markdown(cls, content, *extensions):
- return cls._as_markdown_raw(content.replace('\\','\\\\'), *extensions)
-
def as_markdown(self, *extensions):
- return self._as_markdown(self.body, *extensions)
+ return self._as_markdown(smart_unicode(self.body), *extensions)
@property
def headline(self):