Top 12 reasons Webby makes me happy
Wynn Netherland
After smart guys like Bruce, Rein, and Bryan moved their blogs, I started to take note of Webby. After some research and tire kicking, we took the plunge and moved Squeejee.com and this blog over to Webby.
What is Webby?
Webby isn’t a blog platform per se. It sure can be, but it’s so much more than that. “ASCII Alchemy,” the tagline on the official site is indeed the best way to describe this gem. Don’t let the official site undersell it. Webby is a CMS for those of us who dwell in a terminal shell most of the day. The Webby gem bundles a powerful set of rake tasks that builds out static pages based on the contents of your project.
My Top 12 reasons for using Webby
#1: No Liquid required
Now let me say first that I like Liquid. But using Liquid for my blog was like handing a surgeon a pair of safety scissors. Webby supports tools you already know including:
- ERB
- Textile
- Markdown
- HAML
- SASS
#2: No theming layer to fight with
Themes are great. Who hasn’t installed a WordPress blog, downloaded a prefabbed theme and made a family member’s day? But for my own sites I don’t like having to work at that level of abstraction, constantly battling the tension with the “core” CMS and my customization layer.
#3: Layouts
For anyone who has developed in Rails or Merb and also tried to create a WordPress or ExpressionEngine template, you’ve probably missed the simplicity of layouts. Webby has full support for layouts, and they can even be specified per page.
#4: Partials
Another aspect of Rails development that simplifies page creation. I found myself DRYing up the site a couple of times using partials.
#5: Look Ma, no database!
While professional programmers certainly don’t have a problem handling databases, we’d rather not. One less thing to sync, deploy, backup, purge, import, etc.
#6: Custom page attributes
Pages in Webby have their own metadata in familiar YAML format. Need to track fields for author or tags for your posts? Simply add them to the top of the file:
1 blog_post: true 2 excerpt: We moved this site to "Webby":http://webby.rubyforge.org in hopes that we'd blog more if we didn't have to leave "TextMate":http://macromates.com to do it. Along the way, we fell in love with this little gem. 3 author: Wynn Netherland
#7: Code syntax highlighting
I stole a little of my own thunder in that previous item, but I love the built-in CodeRay and Ultraviolet support.
#8: A local site that matches my live site
Webby comes with WEBrick built in. Just by running webby autobuild, I can fire up an instance of my site locally and test my changes before pushing to the world without having to hide behind “preview” mode.
#9: Total control
In the past when I’ve tried to bend Mephisto or Typo to my will (as great as they are) I never liked the overhead of simple tasks like adding non-blog content pages. With Webby, I have total control in what content I can serve up.
#10: Built in Digg-proofing with static output
Well, you still have to have some decent hardware to survive a decent Digging, but since Webby outputs static files, you won’t have to worry about configuring any complex caching.
#11: Built in deploy
Webby comes with deploy support out of the box using either SSH or rsync. Just update your Sitefile with your deployment target info and deploying your site is as easy as webby deploy.
1 SITE.user = "webby" 2 SITE.host = locomotivation.com" 3 SITE.remote_dir = "/var/www/locomotivation.com" 4 5 task :default => :build 6 7 desc 'deploy the site to the webserver' 8 task :deploy => [:build, 'deploy:ssh']
#12: Content versioning (with Git or SVN)
Content versioning is a very cool feature of high-end CMS tools. OK, so Webby doesn’t come with version control out of the box, but since it stores content in text files, you can use your current source control management software to version your content alongside you site structure. We use Github and with Webby, we get content versioning for free!
OK, I’m sold so how do I use this thing?
Mike Clark’s outstanding tutorial provides the best step-by-step overview I’ve found for getting up and running with Webby. NOTE: The rake command in Mike’s code examples was swapped out for the webby and webby-gen commands starting in version 0.9.0.
The official user manual over on the Rubyforge site was most helpful in getting grasp of some of the more advanced aspects of Webby including pagination, code syntax highlighting, custom page attributes, and custom tasks. Got questions? Ping us over on the Google group.
Conclusion
Webby is a powerful tool for creating static(ish) web sites when a real web-based CMS is overkill. Does it work for all scenarios? Of course not. For highly dynamic sites, you’ll need the full power of a web framework and decent backend database server. For the cases where it does make sense, I hope you’ll give it a try.

Older articles
Latest comments
Archives
Tweetstream