JS Humanize (Give data a human touch)
github.comIf you are familiar with Django you are familiar with a nice set of template tags called "humanize". In essence it turns data such as "13 April 2012" into "2 days ago" or "1000000000" into "1.0 billion". JS Humanizer is a jQuery counterpart to the Django humanize template tags we wrote and thought that others might find it useful too. Is it possible to have these in a stand alone library/namespace without the need for bringing the whole of jQuery with it? Not everyone uses jQuery in their JS application and it certainly would aid those who perform server-side JS. I've removed the jQuery dependency and submitted a pull request (https://github.com/milanvrekic/JS-humanize/pull/1). IMO it's especially heinous because I didn't see a single piece of jQuery use in the code (I may have missed it, though). All they seem to be requiring jQuery for is to add to the $ namespace. That pedantry aside, it seems like a decent enough chunk of code, and it's very easy to read. More libraries should be this clean. This is perhaps an inelegant solution but i've found it useful sometimes, you can get standalone functions of most of these by using a JS port of PHP functions called phpjs (phpjs.org), while i understand PHP is as cool as toe fungus on HN right now, its a solution. EDIT: Actually having now looked at the code, it seems a lot of it is specifically using the phpjs library. jQuery bit was originally intended to make it compatible with require.js loading; chetan51, Groxx - thanks for pointing it out. We removed that bit but we missed the dependancy, removed now thanks to chetan51 Nice work! Might want to update the README - it's no longer a jQuery plugin. Sweet! Might be needing this library very soon! Nice idea, but seems to lack of any input escaping. Thanks. I am on it. This is great! I love how it aligns with the Django templating system as well =) Although I do agree that this might be better off a something that is framework independent. A while ago I posted an example on Forrst of how you might write a simple and pure-js shorten function: https://forrst.com/posts/JavaScript_Shorten_Function-1up Two things: 1) Gb should be GiB 2) it would be lovely to see some internationalisation support. This might need some internationalization support... I totally agree. i.e. plural should be handled by i18n libraries. Same thing for the thousands separator, different locales use different separators/styles. pferreir, just a heads-up - you've been hellbanned. This means all of your comments are automatically marked as [dead], but you can't see this. Pferreir, hellbanning is where your posts appear normally when rendered for your account, but do not show up for anyone else. Try viewing this thread using a freshly created HN account. Don't know why this has happened to you... You'll probably need to start a new account, unfortunately – there doesn't appear to be any protocol for being 'unhellbanned'. I'm just the messenger – by no means am I in any way associated with HN. All of them are built into Play Framework, fwiw.
This should be either 9.20 Gb or 1.15 GB. filesizeformat (1234567890 = 1.15 Gb)
Bug filed. => Humanize.truncatechars("<script>alert('yo');<\/script>", 30)
"<script>alert('yo');</script>"
=> Humanize.linebreaks("<script>alert('yo');<\/script>")
"<p><script>alert('yo');</script></p>"