﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
241	Add a django.contrib.markup app	django@…	Adrian Holovaty	"We should add a {{{django.contrib.markup}}} app, which would simply contain template tags to convert between markup languages such as Textile, Markdown, ReST, etc.

Here's a patch for a ""textile"" template filter:

{{{
Index: defaultfilters.py
===================================================================
--- defaultfilters.py   (revision 356)
+++ defaultfilters.py   (working copy)
@@ -416,6 +416,23 @@
     from pprint import pformat
     return pformat(value)

+def textile(value, _):
+    ""Generates XHTML from Textile markup developed by Dean Allen""
+    try:
+        # Try and import textile
+        from textile import textile
+    except ImportError:
+        # No textile? Just return text again
+        return value
+
+    try:
+        value = textile(value)
+    except:
+        # Textile doesn't have a good system for rejecting bad input!
+        pass
+
+    return value
+
 # Syntax: template.register_filter(name of filter, callback, has_argument)
 template.register_filter('add', add, True)
 template.register_filter('addslashes', addslashes, False)
@@ -452,6 +469,7 @@
 template.register_filter('slugify', slugify, False)
 template.register_filter('stringformat', stringformat, True)
 template.register_filter('striptags', striptags, False)
+template.register_filter('textile', textile, False)
 template.register_filter('time', time, True)
 template.register_filter('timesince', timesince, False)
 template.register_filter('title', title, False)
}}}"	enhancement	new	Core (Other)		normal		textile filter template		Unreviewed	0	0	0	0	0	0
