mirror of
				https://github.com/django/django.git
				synced 2025-10-31 01:25:32 +00:00 
			
		
		
		
	Fixed #11021 -- Clarified newline stripping behavior in the truncatewords and truncatewords_html filters. Thanks to Ben Spaulding for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13555 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -256,6 +256,8 @@ def truncatewords(value, arg): | ||||
|     Truncates a string after a certain number of words. | ||||
|  | ||||
|     Argument: Number of words to truncate after. | ||||
|  | ||||
|     Newlines within the string are removed. | ||||
|     """ | ||||
|     from django.utils.text import truncate_words | ||||
|     try: | ||||
| @@ -271,6 +273,8 @@ def truncatewords_html(value, arg): | ||||
|     Truncates HTML after a certain number of words. | ||||
|  | ||||
|     Argument: Number of words to truncate after. | ||||
|  | ||||
|     Newlines in the HTML are preserved. | ||||
|     """ | ||||
|     from django.utils.text import truncate_html_words | ||||
|     try: | ||||
|   | ||||
| @@ -39,7 +39,10 @@ wrap = allow_lazy(wrap, unicode) | ||||
| def truncate_words(s, num, end_text='...'): | ||||
|     """Truncates a string after a certain number of words. Takes an optional | ||||
|     argument of what should be used to notify that the string has been | ||||
|     truncated, defaults to ellipsis (...)""" | ||||
|     truncated, defaulting to ellipsis (...) | ||||
|  | ||||
|     Newlines in the string will be stripped. | ||||
|     """ | ||||
|     s = force_unicode(s) | ||||
|     length = int(num) | ||||
|     words = s.split() | ||||
| @@ -51,10 +54,13 @@ def truncate_words(s, num, end_text='...'): | ||||
| truncate_words = allow_lazy(truncate_words, unicode) | ||||
|  | ||||
| def truncate_html_words(s, num, end_text='...'): | ||||
|     """Truncates html to a certain number of words (not counting tags and | ||||
|     """Truncates HTML to a certain number of words (not counting tags and | ||||
|     comments). Closes opened tags if they were correctly closed in the given | ||||
|     html. Takes an optional argument of what should be used to notify that the | ||||
|     string has been truncated, defaults to ellipsis (...).""" | ||||
|     string has been truncated, defaulting to ellipsis (...). | ||||
|  | ||||
|     Newlines in the HTML are preserved. | ||||
|     """ | ||||
|     s = force_unicode(s) | ||||
|     length = int(num) | ||||
|     if length <= 0: | ||||
|   | ||||
| @@ -1883,6 +1883,8 @@ For example:: | ||||
|  | ||||
| If ``value`` is ``"Joel is a slug"``, the output will be ``"Joel is ..."``. | ||||
|  | ||||
| Newlines within the string will be removed. | ||||
|  | ||||
| .. templatefilter:: truncatewords_html | ||||
|  | ||||
| truncatewords_html | ||||
| @@ -1902,6 +1904,8 @@ For example:: | ||||
| If ``value`` is ``"<p>Joel is a slug</p>"``, the output will be | ||||
| ``"<p>Joel is ...</p>"``. | ||||
|  | ||||
| Newlines in the HTML content will be preserved. | ||||
|  | ||||
| .. templatefilter:: unordered_list | ||||
|  | ||||
| unordered_list | ||||
|   | ||||
		Reference in New Issue
	
	Block a user