Markaby

Markaby is a small Ruby library for generating HTML code. It is an alternative to template languages ​​like erb and haml, combine the Ruby code with a kind of markup language. It was developed by the anonymous computer programmer "why the lucky stiff". Its name comes from the 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 boat floats and can fit 5 did people"      end    end end puts mab.to_s Running the above code produces the following HTML ( without any line breaks and indentation ):

             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 boat floats and can fit 5 did people </ li>      </ ul>    </ body> </ html> distribution </p> <p> Gem </p> <p> Gem install markaby Rails plugin </p> <p> Script / plugin install git :/ / github.com / markaby / markaby.git camping </p> <p> Markaby is the template engine, is used by the Camping framework. </p> <p> Modules HomePage :: Views     # If you have a ` layout ' method like this, it     # Want to 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 </p> <ul> <li>ERuby </li> <li>Haml </li> <li>Camping ( micro framework ) </li> </ul> </section> <section class="relLinks"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- memim 1 wide adaptive --> <ins class="adsbygoogle" style="display:block;clear:both;" data-ad-client="ca-pub-8545452838648870" data-ad-slot="6796476374" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <a href="/ruby-on-rails.html">Ruby on Rails</a> </section> <div class="comments"> </div> <section> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-8545452838648870" data-ad-slot="9697283175"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </section> <span style="font-size:.5em">550377</span> <div class="share_buttons"> <div class="addthis_sharing_toolbox"></div> </div> </main> </div> </td></tr><tr><td id="footer"> <div class="aligner"> <footer class="mainHolder" style="text-align:center;"> <!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href='http://www.liveinternet.ru/click' "+ "target=_blank rel=nofollow><img src='//counter.yadro.ru/hit?t18.5;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";"+Math.random()+ "' alt='' title='LiveInternet' "+ "border='0' width='88' height='31'><\/a>") //--></script><!--/LiveInternet--> <br /> memim.com 2024<br /> All rights reserved<br /> <span style='font-size:0.5em'>Page generated in 0.0022<br /></span> <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5093bb6e1c1ddca0"></script> <script> function jr(ready){ if(window.jQuery){ //ready(); }else{ setTimeout(jr,100,ready); } } jr(function() { $(".imagesHolder img").each(function () { var i=$(this); console.log(i.attr('src')+' '+i.width()+' '+i.readyState); //$(this).remove(); }); }); </script> </footer> </div> </td></tr></table> <span style="font-size:.3em">de</span> </body> </html>