Markaby

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Markaby
Betriebssystem plattformunabhängig
Programmier­sprache Ruby
Kategorie HTML-Generierung
_why's Markaby

Markaby ist eine kleine Ruby-Bibliothek zum Generieren von HTML-Code. Es ist eine Alternative zu Templatesprachen wie erb und Haml, die Ruby-Code mit einer Art Markupsprache kombinieren. Es wurde von dem anonymen Computerprogrammierer „why the lucky stiff“ entwickelt. Sein Name kommt von Markup as Ruby.

Verwendung[Bearbeiten]

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

Die Ausführung des obigen Codes ergibt das folgende HTML (eventuell ohne Zeilenwechsel und Einrückungen):

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

Verteilung[Bearbeiten]

Gem

 gem install markaby

Rails plugin

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

Camping[Bearbeiten]

Markaby ist die Template-Engine, die vom Camping-Framework verwendet wird.

 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

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]