Changeset 109 for django/trunk/contrib
- Timestamp:
- 01/13/08 02:39:43 (12 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
django/trunk/contrib/versedown/templatetags/versedown.py
r86 r109 2 2 from django import template 3 3 from django.template.defaultfilters import striptags 4 #from smartypants import smartyPants as smartypants 4 from django.utils.safestring import mark_safe 5 from typogrify import typogrify 5 6 from markdown import markdownWithFootnotes, markdown as basicMarkdown 6 7 … … 19 20 @register.filter 20 21 def versedown(text): 21 return reformatFootnotes(markdownWithFootnotes(reformatNewlines(text)))22 return mark_safe(typogrify(reformatFootnotes(markdownWithFootnotes(reformatNewlines(text))))) 22 23 23 24 @register.filter 24 25 def markdownfn(text): 25 return reformatFootnotes(markdownWithFootnotes(text))26 return mark_safe(typogrify(reformatFootnotes(markdownWithFootnotes(text)))) 26 27 27 28 @register.filter 28 29 def markdown(text): 29 return basicMarkdown(text)30 return mark_safe(typogrify(basicMarkdown(text))) 30 31 31 32 @register.filter 32 33 def linedown(text): 33 34 """Markdown for titles. Removes extra <p></p>.""" 34 return markdown(text)[len(" <p>"):-len("\n </p> ")] 35 return mark_safe(markdown(text)[len(" <p>"):-len(" \n</p>")]) 36 37 @register.filter 38 def linedownfn(text): 39 return mark_safe(markdownfn(text)) # todo: strip extra <p>s 35 40 36 41 @register.filter 37 42 def stripdown(text): 38 43 """Remove markdown formatting and return plain text. For feed titles and stuff.""" 39 return striptags(markdown(text))44 return mark_safe(striptags(basicMarkdown(text))) 40 45 41 46 @register.filter … … 58 63 """ 59 64 text = nn.sub(r"\n\n<p> </p>\n\n", text) 60 text = markdown(text)65 text = basicMarkdown(text) 61 66 text = br.sub("<br />", text) 62 67 text = n.sub("", text) 63 return text68 return mark_safe(text) 64 69 65 70 if __name__ == "__main__": 66 71 import doctest 67 72 doctest.testmod() 73 74 @register.filter 75 def truncatelines(text, lines): 76 return '\n'.join(text.splitlines()[:lines])