90 lines
6.3 KiB
HTML
90 lines
6.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
|
<title>layout.rb</title>
|
|
<link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
|
|
</head>
|
|
<body>
|
|
<div id='container'>
|
|
<div id="background"></div>
|
|
<div id="jump_to">
|
|
Jump To …
|
|
<div id="jump_wrapper">
|
|
<div id="jump_page">
|
|
<a class="source" href="rocco.html">rocco.rb</a>
|
|
<a class="source" href="layout.html">layout.rb</a>
|
|
<a class="source" href="tasks.html">tasks.rb</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<table cellspacing=0 cellpadding=0>
|
|
<thead>
|
|
<tr>
|
|
<th class=docs><h1>layout.rb</h1></th>
|
|
<th class=code></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr id='section-1'>
|
|
<td class=docs>
|
|
<div class="pilwrap">
|
|
<a class="pilcrow" href="#section-1">¶</a>
|
|
</div>
|
|
|
|
|
|
</td>
|
|
<td class=code>
|
|
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'mustache'</span>
|
|
|
|
<span class="k">class</span> <span class="nc">Rocco</span><span class="o">::</span><span class="no">Layout</span> <span class="o"><</span> <span class="no">Mustache</span>
|
|
<span class="nb">self</span><span class="o">.</span><span class="n">template_path</span> <span class="o">=</span> <span class="no">File</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="bp">__FILE__</span><span class="p">)</span>
|
|
|
|
<span class="k">def</span> <span class="nf">initialize</span><span class="p">(</span><span class="n">doc</span><span class="p">,</span> <span class="n">file</span><span class="o">=</span><span class="kp">nil</span><span class="p">)</span>
|
|
<span class="vi">@doc</span> <span class="o">=</span> <span class="n">doc</span>
|
|
<span class="k">if</span> <span class="ow">not</span> <span class="n">file</span><span class="o">.</span><span class="n">nil?</span>
|
|
<span class="no">Rocco</span><span class="o">::</span><span class="no">Layout</span><span class="o">.</span><span class="n">template_file</span> <span class="o">=</span> <span class="n">file</span>
|
|
<span class="k">end</span>
|
|
<span class="k">end</span>
|
|
|
|
<span class="k">def</span> <span class="nf">title</span>
|
|
<span class="no">File</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="vi">@doc</span><span class="o">.</span><span class="n">file</span><span class="p">)</span>
|
|
<span class="k">end</span>
|
|
|
|
<span class="k">def</span> <span class="nf">sections</span>
|
|
<span class="n">num</span> <span class="o">=</span> <span class="mi">0</span>
|
|
<span class="vi">@doc</span><span class="o">.</span><span class="n">sections</span><span class="o">.</span><span class="n">map</span> <span class="k">do</span> <span class="o">|</span><span class="n">docs</span><span class="p">,</span><span class="n">code</span><span class="o">|</span>
|
|
<span class="p">{</span>
|
|
<span class="ss">:docs</span> <span class="o">=></span> <span class="n">docs</span><span class="p">,</span>
|
|
<span class="ss">:docs?</span> <span class="o">=></span> <span class="o">!</span><span class="n">docs</span><span class="o">.</span><span class="n">empty?</span><span class="p">,</span>
|
|
<span class="ss">:header?</span> <span class="o">=></span> <span class="sr">/^<h.>.+<\/h.>$/</span><span class="o">.</span><span class="n">match</span><span class="p">(</span> <span class="n">docs</span> <span class="p">),</span>
|
|
|
|
<span class="ss">:code</span> <span class="o">=></span> <span class="n">code</span><span class="p">,</span>
|
|
<span class="ss">:code?</span> <span class="o">=></span> <span class="o">!</span><span class="n">code</span><span class="o">.</span><span class="n">empty?</span><span class="p">,</span>
|
|
|
|
<span class="ss">:empty?</span> <span class="o">=></span> <span class="p">(</span> <span class="n">code</span><span class="o">.</span><span class="n">empty?</span> <span class="o">&&</span> <span class="n">docs</span><span class="o">.</span><span class="n">empty?</span> <span class="p">),</span>
|
|
<span class="ss">:num</span> <span class="o">=></span> <span class="p">(</span><span class="n">num</span> <span class="o">+=</span> <span class="mi">1</span><span class="p">)</span>
|
|
<span class="p">}</span>
|
|
<span class="k">end</span>
|
|
<span class="k">end</span>
|
|
|
|
<span class="k">def</span> <span class="nf">sources?</span>
|
|
<span class="vi">@doc</span><span class="o">.</span><span class="n">sources</span><span class="o">.</span><span class="n">length</span> <span class="o">></span> <span class="mi">1</span>
|
|
<span class="k">end</span>
|
|
|
|
<span class="k">def</span> <span class="nf">sources</span>
|
|
<span class="vi">@doc</span><span class="o">.</span><span class="n">sources</span><span class="o">.</span><span class="n">sort</span><span class="o">.</span><span class="n">map</span> <span class="k">do</span> <span class="o">|</span><span class="n">source</span><span class="o">|</span>
|
|
<span class="p">{</span>
|
|
<span class="ss">:path</span> <span class="o">=></span> <span class="n">source</span><span class="p">,</span>
|
|
<span class="ss">:basename</span> <span class="o">=></span> <span class="no">File</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">source</span><span class="p">),</span>
|
|
<span class="ss">:url</span> <span class="o">=></span> <span class="no">File</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">source</span><span class="p">)</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span><span class="o">[</span><span class="mi">0</span><span class="o">.</span><span class="n">.</span><span class="o">-</span><span class="mi">2</span><span class="o">].</span><span class="n">join</span><span class="p">(</span><span class="s1">'.'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'.html'</span>
|
|
<span class="p">}</span>
|
|
<span class="k">end</span>
|
|
<span class="k">end</span>
|
|
<span class="k">end</span></pre></div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</body>
|