summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
c8ed8f4)
@property
def comment(self):
if settings.FORM_ALLOW_MARKDOWN_IN_COMMENTS:
@property
def comment(self):
if settings.FORM_ALLOW_MARKDOWN_IN_COMMENTS:
- return self.as_markdown('limitedsyntax')
+ # Avoid doing double replacement of backslashes
+ return self._as_markdown_raw(self.body,'limitedsyntax')
return auto_user_link(self, self._as_markdown(content, *['auto_linker']))
@classmethod
return auto_user_link(self, self._as_markdown(content, *['auto_linker']))
@classmethod
- def _as_markdown(cls, content, *extensions):
+ def _as_markdown_raw(cls, content, *extensions):
try:
return mark_safe(sanitize_html(markdown.markdown(content, extensions=extensions)))
except Exception, e:
try:
return mark_safe(sanitize_html(markdown.markdown(content, extensions=extensions)))
except Exception, e:
str(e), cls.__name__, str(e), traceback.format_exc()))
return ''
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)
def as_markdown(self, *extensions):
return self._as_markdown(self.body, *extensions)