1 2 3 4 5 6 7 8 9 10 11 12 13 | from django.template import Library, Node
register = Library()
def widont(value):
bits = value.rsplit(' ', 1)
try:
widowless = bits[0] + " " + bits[1]
return widowless
except:
return value
register.filter(widont)
|
More like this
- Enhanced "avoid widows" template filters by SmileyChris 5 years, 11 months ago
- Filter to add zero-width space to break up long words by jayliew 9 months ago
- Pad integers with leading zeros (template filter) by jcroft 5 years, 5 months ago
- Auto HTML Linebreak filter by punteney 5 years, 2 months ago
- nbsp filter by vitamon 7 months, 2 weeks ago
Comments
Thanks for this - looks like this could prove very useful!
#
Nice little trick I didn't know about! Just a couple notes;
If there happens to be an HTML tag such as a link on the last word, this would break it. However for simple headers, I suppose this isn't a problem. In my own code I'm putting this inside a text conversion function where I'm already keeping track of tags, anyway :)
Also, it could be implemented as a simple one-liner:
#
Just one little gotcha...
The template should ensure that it is using a string... so Line 6 should read:
bits = str(value).rsplit(' ', 1)
Therefore, if an object which is not a string is passed to it, it's string method will be called to ensure that the filter will work as intended.
Otherwise, this is brilliant!
#
Nice one! Thanks
#
I've put a more advanced version of this at snippet 340
#
If there happens to be an HTML tag such as a link on the last word, this would break it. However for simple headers, I suppose this isn't a problem. In my own code I'm putting this inside a text conversion function where I'm already keeping track of tags, anyway :)
Thanks
BlackBerry Curve 9320 cases
#
Such a very useful article. Very interesting to read this article.I would like to thank you for the efforts you had made for writing this awesome article.
agen sbobet, Judi, Modifikasi, Bokep Streaming, Casino, Poker
#
Thank you for another essential article. Where else could anyone get that kind of information in such a complete way of writing? I have a presentation incoming week, and I am on the lookout for such information. Jasa seo, Ghantoby
#
Really good read for me, This is exactly what I was looking for. Thanks for sharing this great article! That is very interesting Smile I love reading and I am always searching for informative information like this! Jasa seo
#