Markaby
| 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
- ↑ Release 0.8.1 . September 21, 2017 (accessed July 22, 2018).
- ↑ api.github.com . (accessed on March 6, 2019).