-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On Wed, Dec 30, 2009 at 08:06:02PM +0800, Russell Keith-Magee wrote: > On Wed, Dec 30, 2009 at 8:15 AM, Nic Pottier <nicpott...@gmail.com> wrote: > > > > New to Django, but certainly not web development. After being > > pleasantly surprised with a lot of the available Django filters I was > > rather surprised not to see a string truncation filter included. > > > > A little googling shows I'm not the only one, there are tons of people > > writing their own filters to accomplish this, and sure enough a nice > > looking patch submitted two (TWO!) years ago to add a |truncate. > > > > I'd be curious to hear what the reason for not accepting this patch > > is. String truncation is a pretty common task, and having it built in > > seems like a no-brainer. > > I disagree. > > Firstly, as James points out, slice already exists, and the ellipsis > difference between slice and truncate can be easily overcome with > additional code. > > Secondly, IMHO raw truncation based on characters is bad practice for > human readable text. A sentence is composed of words, not characters. > Truncating a sentence mid-word isn't a typographical practice that I > particularly want to encourage. > > I would be marginally more inclined to support a truncate filter that > obeyed word boundaries i.e., no more than 50 characters, but stop at > the end of the last complete word. However, even with this > modification - what's the use case for an N character truncation? It > can't (or shouldn't be) to make sure that text will fit into a visual > space. You can't guarantee how wide N characters will be at > render-time due to differences in character width. If you want to > truncate for display purposes, you should be looking at CSS overflow > properties or other display-level tricks.
This feature, of truncating in word bondaries or truncating based on characters, could be added as an option. I think it's valid to take a look at the truncate[1] filter of the Smarty Template Engine because it solves some of the problems that have been discussed here. [1]. http://www.smarty.net/manual/en/language.modifier.truncate.php - -- Best regards, Arthur Furlan (afurlan) afur...@afurlan.org http://blog.afurlan.org Public GPG KeyID: 27D81084 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iQIcBAEBCAAGBQJLO0fKAAoJEOW5JtQn2BCENIMP/0ex/IKnSFlwHwQTiclfnRyK ooXODJXsk90sh8GaocLBic3NJ+pminMKHclavZKdlXYgA9RSMTlfLXRJU7WFvEJx hZ5U2eDUGXyMy++Onj04fAJG8Q7+4mRRlgkEH520b2RRPndyBw4RMpbIaTYzi+Pc FA1hgTmK+j3ojbkRZeQIYn3w53n0R4n990YumrfclcpOtWc7/YW0g0+uEBdLJ4pZ B8uAFlDZCABcfj6wS6kewJfXRxDzX+6ch5cMgTle1LfRlWOyu+RAeV5An8fxykw9 pGZClIVHrE5zeFus8J7RawnodbaiuxfTgEGnWqLii/ddrjBEMebeKOrWaEYen/bF 30jFbrfJ+OcqSJJQZO5rqA27ihFpEQH2Qlo297OlJo3yGN2AKVMGMjRERYKRipf6 Wr7JsHYACxxHi1cGtodoBUKuwIDb28UpaIjgTbgU70BwiOYdfO3nU3zDf/sigarz 2HV7OZQYOqoXyf3tQPu/vQ44nompG/zxpdXJAf3dMcZ/HtmAB06a+XROeoq7SkGu FZllvvIY27x56M6WIw8ZwHJqSfq9u7HGNhJBLRY+dxB6rbAWqDPLyMNvlibzLT+6 H0c+C+Es6qA2HrCt9Oo5nrnMQWw9Xwd/uGdocQBZUY9w7kXzCPIQcXkubhxhwLn6 9SSLNn5nUbJ5xqLZ9f3e =UCaA -----END PGP SIGNATURE----- -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-develop...@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.