Browse Source

text_tags: nbsp template tag.

backports/m1-live
Erik Stein 9 years ago
parent
commit
f357063e89
  1. 16
      utils/templatetags/text_tags.py

16
utils/templatetags/text_tags.py

@ -2,6 +2,8 @@
from __future__ import unicode_literals
# Erik Stein <code@classlibrary.net>, 2015
import re
from django import template
from django.template.defaultfilters import stringfilter
from django.utils.html import conditional_escape
@ -24,3 +26,17 @@ def conditional_punctuation(value, punctuation=",", space=" "):
value += conditional_escape(space) # Append previously stripped space
return value
conditional_punctuation.is_safe = True
WHITESPACE = re.compile('\s+')
@register.filter(needs_autoescape=True)
@stringfilter
def nbsp(text, autoescape=True):
if autoescape:
esc = conditional_escape
else:
esc = lambda x: x
return mark_safe(WHITESPACE.sub('&nbsp;', esc(text.strip())))

Loading…
Cancel
Save