Markaby

from Wikipedia, the free encyclopedia
Markaby
Basic data

Current  version 0.8.1
( September 21, 2017 )
operating system platform independent
programming language Ruby
category HTML generation
License MIT license
_why's Markaby

Markaby is a small Ruby library for generating HTML code. It's an alternative to template languages ​​like erb and Haml , which combine Ruby code with some kind of markup language . It was developed by the anonymous computer programmer " why the lucky stiff ". Its name comes from Markup as Ruby .

use

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 results in the following HTML (possibly without line breaks and indentations):

<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

According to

 gem install markaby

Rails plugin

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

camping

Markaby is the template engine used by the camping 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

Web links

  1. Release 0.8.1 . September 21, 2017 (accessed July 22, 2018).
  2. api.github.com . (accessed on March 6, 2019).