Markaby
Websitemarkaby.github.io/markaby/
Repository

Markaby is a small Ruby library for writing HTML code in pure Ruby.[1][2] 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.

Usage

edit
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>

Distribution

edit

Gem

gem install markaby

Rails plugin

Camping

edit

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

See also

edit

References

edit
  1. ^ "Markaby (Markup as Ruby) - Programmer Sought". www.programmersought.com. Retrieved 2026-02-16.
  2. ^ Berube, David, ed. (2007), "Writing HTML as Ruby with Markaby", Practical Ruby Gems, Berkeley, CA: Apress, pp. 115–120, doi:10.1007/978-1-4302-0193-9_14, ISBN 978-1-4302-0193-9, retrieved 2026-02-16{{citation}}: CS1 maint: work parameter with ISBN (link)
edit


📚 Artikel Terkait di Wikipedia

List of Ruby software and tools

geocoding and reverse geocoding addresses Haml – HTML templating engine Markaby – HTML generation via Ruby Nokogiri – XML/HTML parsing library RSpec –

Why the lucky stiff

Ruby. Camping, a microframework inspired by Ruby on Rails and based on Markaby that is less than 4 kilobytes. Park Place, a "nearly complete clone of

ERuby

open-source software portal mod_ruby Phusion Passenger (mod_rails) Haml RDoc Markaby Brown, Gregory (2009). Ruby Best Practices. O'Reilly. pp. 279–281. ISBN 978-0596523008

Haml

Text::Haml Scala: Scalate Free and open-source software portal BBCode eRuby Markaby Ruby Ruby on Rails YAML Sass – a similar system for CSS, also designed