Changeset 6864 for django/branches/newforms-admin/django/contrib/markup
- Timestamp:
- 12/03/07 11:37:33 (1 year ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/newforms-admin
- Property svnmerge-integrated changed from /django/trunk:1-4345,4350-4357,4359-4365,4371-4372,4374-4377,4380-4386,4388,4390-4391,4400-4402,4404-4408,4410,4412-4419,4426-4427,4430-4432,4434,4441,4443-4444,4446-4447,4450,4452-4453,4455-4458,4476,4503,4546,4564-4569,4580-4586,4617,4630,4641-6390,6392-6782 to /django/trunk:1-4345,4350-4357,4359-4365,4371-4372,4374-4377,4380-4386,4388,4390-4391,4400-4402,4404-4408,4410,4412-4419,4426-4427,4430-4432,4434,4441,4443-4444,4446-4447,4450,4452-4453,4455-4458,4476,4503,4546,4564-4569,4580-4586,4617,4630,4641-6390,6392-6863
django/branches/newforms-admin/django/contrib/markup/templatetags/markup.py
r6776 r6864 33 33 textile.is_safe = True 34 34 35 def markdown(value): 35 def markdown(value, arg=''): 36 """ 37 Runs Markdown over a given value, optionally using various 38 extensions python-markdown supports. 39 40 Syntax:: 41 42 {{ value|markdown:"extension1_name,extension2_name..." }} 43 44 To enable safe mode, which strips raw HTML and only returns HTML 45 generated by actual Markdown syntax, pass "safe" as the first 46 extension in the list. 47 48 If the version of Markdown in use does not support extensions, 49 they will be silently ignored. 50 51 """ 36 52 try: 37 53 import markdown … … 41 57 return force_unicode(value) 42 58 else: 43 return mark_safe(force_unicode(markdown.markdown(smart_str(value)))) 59 # markdown.version was first added in 1.6b. The only version of markdown 60 # to fully support extensions before 1.6b was the shortlived 1.6a. 61 if hasattr(markdown, 'version'): 62 extensions = [e for e in arg.split(",") if e] 63 if len(extensions) > 0 and extensions[0] == "safe": 64 extensions = extensions[1:] 65 safe_mode = True 66 else: 67 safe_mode = False 68 return mark_safe(force_unicode(markdown.markdown(smart_str(value), extensions, safe_mode=safe_mode))) 69 else: 70 return mark_safe(force_unicode(markdown.markdown(smart_str(value)))) 44 71 markdown.is_safe = True 45 72 django/branches/newforms-admin/django/contrib/markup/tests.py
r6776 r6864 62 62 rendered = t.render(Context(locals())).strip() 63 63 if docutils: 64 self.assertEqual(rendered, """<p>Paragraph 1</p> 64 # Different versions of docutils return slightly different HTML 65 try: 66 # Docutils v0.4 and earlier 67 self.assertEqual(rendered, """<p>Paragraph 1</p> 65 68 <p>Paragraph 2 with a <a class="reference" href="http://www.example.com/">link</a></p>""") 69 except AssertionError, e: 70 # Docutils from SVN (which will become 0.5) 71 self.assertEqual(rendered, """<p>Paragraph 1</p> 72 <p>Paragraph 2 with a <a class="reference external" href="http://www.example.com/">link</a></p>""") 66 73 else: 67 74 self.assertEqual(rendered, rest_content)
