diff --git a/README.md b/README.md
index 46c0b48..c37c9a9 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,12 @@ Swag is a growing collection of helpers for [Handlebars.js](https://github.com/w
Swag = require('swag');
Swag.registerHelpers(Handlebars);
+
+ //Usage with express3-handlebars
+ exphbs = require('express3-handlebars);
+ hbs = exphbs.create({
+ handlebars: Handlebars //Pass the Handlebar instance with Swag
+ });
## Swag.registerHelpers
This method will register all Swag helpers with the instance of Handlebars you pass to it.
@@ -626,6 +632,23 @@ Usage:
{{round value}}
6
+#### random
+
+Returns a random number within the provided limit.
+
+Parameters:
+
+ lower [int] - The lower limit for the random number. (Required)
+ upper [int] - The upper limit for the random number. (Required)
+
+Usage:
+
+ lower = 10
+ upper = 50
+
+ {{random lower upper}}
+
+ 27
## Numbers
@@ -1139,7 +1162,23 @@ Usage:
# Your template
{{partial "planet_express" data template}}
+### PhotosetLayout
+
+Generates layout for [Photoset Grid](http://stylehatch.github.io/photoset-grid/) plugin to render Tumblr like image layouts.
+Parameters:
+images[array] - An array of images for which the layout has to be generated. (Required)
+Eg: ["image1.jpg","image2.jpg","image3.jpg"]
+
+Usage:
+ ```
+
+ {{#unserialize images}}
+

+ {{/unserialize}}
+
+ ```
+
[](https://bitdeli.com/free "Bitdeli Badge")
diff --git a/lib/swag.js b/lib/swag.js
index 1272ca5..df09c11 100644
--- a/lib/swag.js
+++ b/lib/swag.js
@@ -407,6 +407,20 @@
}
return result;
}, 'array');
+
+ Swag.addHelper('unserialize', function(_array,options) {
+ var array = JSON.parse(_array);
+ var index, result, value, _i, _len;
+ result = '';
+ for (index = _i = 0, _len = array.length; _i < _len; index = ++_i) {
+ value = array[index];
+ result += options.fn({
+ item: value,
+ index: index
+ });
+ }
+ return result;
+ }, 'array');
Swag.addHelper('eachProperty', function(obj, options) {
var key, result, value;
@@ -420,6 +434,15 @@
}
return result;
}, 'object');
+
+ Swag.addHelper('photoLayout', function(_array,options) {
+ var array = JSON.parse(_array);
+ var _len = array.length;
+ if(_len == 1) return 1;
+ if(_len == 2) return 21;
+ if(_len == 3) return 12;
+ if(_len > 3) return 121;
+ });
Swag.addHelper('add', function(value, addition) {
value = parseFloat(value);
diff --git a/src/swag.math.coffee b/src/swag.math.coffee
index 7dba3c0..e2fa01a 100644
--- a/src/swag.math.coffee
+++ b/src/swag.math.coffee
@@ -36,3 +36,9 @@ Swag.addHelper 'round', (value) ->
value = parseFloat value
Math.round value
, 'number'
+
+Swag.addHelper 'random', (lower, upper) ->
+ lower = parseInt lower
+ upper = parseInt upper
+ Math.floor Math.random() * (upper - lower + 1) + lower
+, ['number', 'number']