Brauhaus.js Playground (Javascript)
A simple playground to test out Brauhaus recipe creation and calculation
by danielgtaylor
HTML
<script src="https://rawgithub.com/homebrewing/brauhausjs/master/dist/brauhaus.min.js"></script>
<div id="log"></div>
CSS
body {
font-family: monospace;
}
JavaScript
// Log a message to the result window
var log = function (message) {
$('#log').append(message + '<br/>');
}
// Create a new recipe
var recipe = new Brauhaus.Recipe({
name: 'Test Recipe',
batchSize: 20.0,
ibuMethod: 'tinseth'
});
// Add 4kg of pale extract
recipe.add('fermentable', {
name: 'Extra pale extract',
weight: 4.0,
color: 2.5,
yield: 75.0
});
// Add 1oz of cascade at 60 minutes
recipe.add('spice', {
name: "Cascade hops",
weight: Brauhaus.lbOzToKg(0, 1.0),
time: 60,
aa: 4.5,
form: 'pellet'
});
// Add some liquid yeast
recipe.add('yeast', {
name: 'Wyeast 3052',
type: 'ale',
form: 'liquid',
attenuation: 74
});
// Calculate the recipe values!
recipe.calculate();
log(recipe.name);
log('--------------------------');
log("Batch size: " + recipe.batchSize.toFixed(1) + " liters (" + Math.round(recipe.batchSize / recipe.servingSize) + " bottles)");
log("Boil size: " + recipe.boilSize.toFixed(1) + " liters");
log("");
log("OG: " + recipe.og.toFixed(3) + " (" + recipe.ogPlato.toFixed(1) + "° Plato)");
log("FG: " + recipe.fg.toFixed(3) + " (" + recipe.fgPlato.toFixed(1) + "° Plato)");
log("Color: " + recipe.color.toFixed(1) + "° SRM <span style='display: inline-block; width: 12px; height: 12px; background-color: " + Brauhaus.srmToCss(recipe.color) + "'></span>");
log("IBU: " + recipe.ibu.toFixed(1));
log("ABV: " + recipe.abv.toFixed(1) + "%");
log("Calories: " + Math.round(recipe.calories));
log("");
log("BU/GU: " + recipe.buToGu.toFixed(2));
log("BV: " + recipe.bv.toFixed(2));
log("");
log("Cost: about $" + recipe.price.toFixed(2) + " ($" + (recipe.price / (recipe.batchSize / recipe.servingSize)).toFixed(2) + " / bottle)");