Reference articles on history, science, culture and more
Encyclopedia

Markaby

Markaby is a small Ruby library for writing HTML code in pure Ruby. It is an alternative to templating languages such as ERb and HAML which combine Ruby code with some form of markup. It was developed by the computer programmer "why the lucky stiff" and its name comes from Markup as Ruby.

01Usage

require 'markaby' mab = Markaby::Builder.new mab.html do head { title "Boats.com" } body do h1 "Boats.com has great deals" ul do li "$49 for a canoe" li "$39 for a raft" li "$29 for a huge boot that floats and can fit 5 people" end end end puts mab.to_s

Executing the above code will render the following HTML:

<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"/> <title> Boats.com</title> </head> <body> <h1> Boats.com has great deals</h1> <ul> <li> $49 for a canoe</li> <li> $39 for a raft</li> <li> $29 for a huge boot that floats and can fit 5 people</li> </ul> </body> </html>

02Distribution

Gem

gem install markaby

Rails plugin

script/plugin install git://github.com/markaby/markaby.git

03Camping

Markaby is the templating engine used for the Camping micro web framework.

module HomePage::Views # If you have a `layout' method like this, it # will wrap the HTML in the other methods. The # `self << yield' is where the HTML is inserted. def layout html do title { 'My HomePage' } body { self << yield } end end # The `index' view. Inside your views, you express # the HTML in Ruby. See http://code.whytheluckystiff.net/markaby/. def index p 'Hi my name is Charles.' p 'Here are some links:' ul do li { a 'Google', :href => 'http://google.com/' } li { a 'A sample page', :href => '/sample' } end end # The `sample' view. def sample p 'A sample page' end end
Watch videos about MarkabyExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article Markaby, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.