Brewing Up Some Code

Howdy Kastinos, I’ve got an exclusive of sorts that I’m excited to share with y’all. I’ve made a little something that should especially excite the homebrewers out there that like to make and share their own recipes. But before I get into it I’d like to drop a little knowledge.

WordPress LogoMany of you might not realize it, but Bierkast is a hand-crafted website built using the free (as in beer, natch) and open-source platform. There are many benefits of using WordPress to host your site: it’s super-fast, it’s super-easy to get running, and there’s a worldwide network of awesome cutting-edge developers and designers working to produce state-of-the-art sites like our very own Bierkast. In fact, I like WordPress so much that I recently started working for Automattic, Inc the makers of the for-profit half However, I think the number one feature of WordPress is its extensibility: if there’s anything at all you feel like WordPress is missing, with a little bit of elbow grease you can add the new feature via plugin.

Now for the exciting part: in my professional life I’m a software developer, but in my off hours I’m a homebrewer–I spend almost as much time thinking about making beer as I do making code. But being an avid user of WordPress I couldn’t help but notice there wasn’t a good way to share my beer recipes in a blog post. What else could I do? I present to you my solution to displaying your recipes on a WordPress site: the BeerXML Shortcode plugin. It’s still a work in process, but I wanted to create an easy way for homebrewers like myself and other Kastinos to show off their recipes.

Just about every recipe tool allows you to export your recipe in BeerXML, so all you need to do is install the plugin, load your recipe to the website, and insert the simple shortcode into your post. Need the recipe in metric? No problem! Just add metric=true to your shortcode and it’ll display in metric.

It’s so simple to us; just point to the recipe you want to publish and it turns this snippet of text…

BeerXML Shortcode example

Into this…

D. Springerweizen

Recipe Details

Batch Size Boil Time IBU SRM Est. OG Est. FG ABV
5.5 gal 90 min 16.6 IBUs 19.7 SRM 1.054 1.013 5.4 %
Actuals 1.055 1.015 5.3 %

Style Details

Name Cat. OG Range FG Range IBU SRM Carb ABV
Dunkelweizen 15 B 1.044 - 1.056 1.01 - 1.014 10 - 18 14 - 23 2.5 - 2.9 4.3 - 5.6 %


Name Amount %
Rice Hulls 8 oz 4.16
Wheat Malt, Ger 6 lbs 49.96
Munich Malt - 20L 2.5 lbs 20.82
Pilsner (2 Row) Ger 2 lbs 16.65
Caramel/Crystal Malt - 40L 6.08 oz 3.16
Special B Malt 6.08 oz 3.16
Carafa Special III (Weyermann) 2 oz 1.04
Chocolate Wheat Malt 2 oz 1.04


Name Amount Time Use Form Alpha %
Hallertauer 0.75 oz 60 min Boil Pellet 5.3
Saaz 0.25 oz 60 min Boil Pellet 3.5


Name Lab Attenuation Temperature
Hefeweizen Ale (WLP300) White Labs 74% 68°F - 72°F


Step Temperature Time
Dough In 108°F 20 min
Protein Rest 125°F 20 min
Saccharification 153°F 45 min


Fermentation temp: ~68F
SG 5/8: 1.019
SG 5/15: 1.016
SG 5/22: 1.015
BX 5/22: 7.25

Won 4th in 2012 San Diego County Fair German Wheat Ales category.

Now you can display your recipes in style! Happy brewing!

About Derek Springer

Derek is a contributor to Bierkast, a homebrewer, and a general beer-enthusiast. Beer snobbery especially bums him out and he thinks there is a time and place for any beer. Otherwise, he enjoys making and drinking uncommon styles and sampling as many beers as possible. Follow him @derekspringer or his homebrewing exploits @FiveBlades.

Posted by


  1. john:

    You are a wizard!

  2. brett:

    I appreciate this post! I installed the plugin, uploaded an XML from BeerSmith 2, but am getting the following error, I’m wondering if you have any thoughts off the top of your head?!

    Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/content/45/10875945/html/wp-content/plugins/beerxml-shortcode/includes/classes.php on line 13

    Warning: file_get_contents(http://boykingbrewhaus.coma) [function.file-get-contents]: failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/content/45/10875945/html/wp-content/plugins/beerxml-shortcode/includes/classes.php on line 13

Post a Comment

* (will not be published)

Switch to our mobile site

%d bloggers like this: