The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
This file was generated by Devel::Cover Version 1.26
Devel::Cover is copyright 2001-2012, Paul Johnson (paul@pjcj.net)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
http://www.pjcj.net
-->
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
    <meta http-equiv="Content-Language" content="en-us"></meta>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <title>File Coverage: lib/Yukki/Web/View.pm</title>
</head>
<body>
<h1>File Coverage</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">lib/Yukki/Web/View.pm</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="c1">83.9%</td></tr>
</table>
<div><br/></div>
<table>
<tr><th>line</th><th>stmt</th><th>bran</th><th>cond</th><th>sub</th><th>pod</th><th>time</th><th>code</th></tr>
<tr><td class="h">1</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">package Yukki::Web::View;</td></tr>
<tr><td class="h">2</td><td colspan="7"></td></tr><tr><td class="h">3</td><td><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L3">7</a></div></td><td></td><td><div>51</div><div>20</div></td><td class="s">use v5.24;</td></tr>
<tr><td class="h">4</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L4">7</a></div></td><td></td><td><div>21</div><div>7</div><div>35</div></td><td class="s">use utf8;</td></tr>
<tr><td class="h">5</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L5">7</a></div></td><td></td><td><div>96</div><div>26</div><div>20</div></td><td class="s">use Moo;</td></tr>
<tr><td class="h">6</td><td colspan="7"></td></tr><tr><td class="h">7</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L7">7</a></div></td><td></td><td><div>3566</div><div>116465</div><div>40</div></td><td class="s">use Type::Params qw( validate );</td></tr>
<tr><td class="h">8</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L8">7</a></div></td><td></td><td><div>1105</div><div>8</div><div>217</div></td><td class="s">use Scalar::Util qw( blessed reftype );</td></tr>
<tr><td class="h">9</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L9">7</a></div></td><td></td><td><div>2231</div><div>108696</div><div>128</div></td><td class="s">use Spreadsheet::Engine;</td></tr>
<tr><td class="h">10</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L10">7</a></div></td><td></td><td><div>5172</div><div>191105</div><div>150</div></td><td class="s">use Template::Pure;</td></tr>
<tr><td class="h">11</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L11">7</a></div></td><td></td><td><div>3280</div><div>135663</div><div>208</div></td><td class="s">use Text::MultiMarkdown;</td></tr>
<tr><td class="h">12</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L12">7</a></div></td><td></td><td><div>219</div><div>577</div><div>184</div></td><td class="s">use Try::Tiny;</td></tr>
<tr><td class="h">13</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L13">7</a></div></td><td></td><td><div>464</div><div>4338</div><div>45</div></td><td class="s">use Type::Utils;</td></tr>
<tr><td class="h">14</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L14">7</a></div></td><td></td><td><div>6385</div><div>9</div><div>31</div></td><td class="s">use Types::Standard qw( Dict Str ArrayRef HashRef slurpy );</td></tr>
<tr><td class="h">15</td><td colspan="7"></td></tr><tr><td class="h">16</td><td><div class="c3">7</div><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L16">7</a></div></td><td></td><td><div>4580</div><div>4464</div><div>40</div></td><td class="s">use namespace::clean;</td></tr>
<tr><td class="h">17</td><td colspan="7"></td></tr><tr><td class="h">18</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s"># ABSTRACT: base class for Yukki::Web views</td></tr>
<tr><td class="h">19</td><td colspan="7"></td></tr><tr><td class="h">20 - 30</td><td colspan="6"></td><td class="s"><pre>=head1 DESCRIPTION

This is the base class for all L&lt;Yukki::Web&gt; views.

=head1 ATTRIBUTES

=head2 app

This is the L&lt;Yukki::Web&gt; singleton.

=cut</pre></td></tr>
<tr><td class="h">31</td><td colspan="7"></td></tr><tr><td class="h">32</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">has app =&gt; (</td></tr>
<tr><td class="h">33</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;ro&#39;,</td></tr>
<tr><td class="h">34</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;isa&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; class_type(&#39;Yukki::Web&#39;),</td></tr>
<tr><td class="h">35</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 1,</td></tr>
<tr><td class="h">36</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;weak_ref&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 1,</td></tr>
<tr><td class="h">37</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;handles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;Yukki::Role::App&#39;,</td></tr>
<tr><td class="h">38</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">);</td></tr>
<tr><td class="h">39</td><td colspan="7"></td></tr><tr><td class="h">40 - 47</td><td colspan="6"></td><td class="s"><pre>=head2 markdown

This is the L&lt;Text::MultiMarkdown&gt; object for rendering L&lt;/yukkitext&gt;. Do not
use.

Provides a C&lt;format_markdown&gt; method delegated to C&lt;markdown&gt;. Do not use.

=cut</pre></td></tr>
<tr><td class="h">48</td><td colspan="7"></td></tr><tr><td class="h">49</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">has markdown =&gt; (</td></tr>
<tr><td class="h">50</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;ro&#39;,</td></tr>
<tr><td class="h">51</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;isa&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; class_type(&#39;Text::MultiMarkdown&#39;),</td></tr>
<tr><td class="h">52</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 1,</td></tr>
<tr><td class="h">53</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;lazy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 1,</td></tr>
<tr><td class="h">54</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;builder&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;_build_markdown&#39;,</td></tr>
<tr><td class="h">55</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;handles&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; {</td></tr>
<tr><td class="h">56</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;format_markdown&#39; =&gt; &#39;markdown&#39;,</td></tr>
<tr><td class="h">57</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">58</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">);</td></tr>
<tr><td class="h">59</td><td colspan="7"></td></tr><tr><td class="h">60</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_markdown {</td></tr>
<tr><td class="h">61</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--subroutine.html#L61">0</a></div></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;Text::MultiMarkdown-&gt;new(</td></tr>
<tr><td class="h">62</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;markdown_in_html_blocks =&gt; 1,</td></tr>
<tr><td class="h">63</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;heading_ids&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 0,</td></tr>
<tr><td class="h">64</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">65</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">66</td><td colspan="7"></td></tr><tr><td class="h">67 - 71</td><td colspan="6"></td><td class="s"><pre>=head2 messages_template

This is the template used to render info, warning, and error messages to the page.

=cut</pre></td></tr>
<tr><td class="h">72</td><td colspan="7"></td></tr><tr><td class="h">73</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">has messages_template =&gt; (</td></tr>
<tr><td class="h">74</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;ro&#39;,</td></tr>
<tr><td class="h">75</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;isa&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; class_type(&#39;Template::Pure&#39;),</td></tr>
<tr><td class="h">76</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;lazy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 1,</td></tr>
<tr><td class="h">77</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;builder&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;_build_messages_template&#39;,</td></tr>
<tr><td class="h">78</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">);</td></tr>
<tr><td class="h">79</td><td colspan="7"></td></tr><tr><td class="h">80</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_messages_template {</td></tr>
<tr><td class="h">81</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L81">2</a></div></td><td></td><td><div>24</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $self = shift;</td></tr>
<tr><td class="h">82</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>19</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;prepare_template(</td></tr>
<tr><td class="h">83</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;&nbsp;&nbsp;=&gt; &#39;messages.html&#39;,</td></tr>
<tr><td class="h">84</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directives =&gt; [</td></tr>
<tr><td class="h">85</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.error&#39;&nbsp;&nbsp;&nbsp;=&gt; {</td></tr>
<tr><td class="h">86</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;error&lt;-errors&#39; =&gt; [</td></tr>
<tr><td class="h">87</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.&#39; =&gt; &#39;error&#39;,</td></tr>
<tr><td class="h">88</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">89</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">90</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.warning&#39; =&gt; {</td></tr>
<tr><td class="h">91</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;warning&lt;-warnings&#39; =&gt; [</td></tr>
<tr><td class="h">92</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.&#39; =&gt; &#39;warning&#39;,</td></tr>
<tr><td class="h">93</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">94</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">95</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.info&#39;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; {</td></tr>
<tr><td class="h">96</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;one_info&lt;-info&#39; =&gt; [</td></tr>
<tr><td class="h">97</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.&#39; =&gt; &#39;one_info&#39;,</td></tr>
<tr><td class="h">98</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">99</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">100</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">101</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">102</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">103</td><td colspan="7"></td></tr><tr><td class="h">104</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">has _page_templates =&gt; (</td></tr>
<tr><td class="h">105</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;ro&#39;,</td></tr>
<tr><td class="h">106</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;isa&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; HashRef,</td></tr>
<tr><td class="h">107</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;required&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 1,</td></tr>
<tr><td class="h">108</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; sub { +{} },</td></tr>
<tr><td class="h">109</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">);</td></tr>
<tr><td class="h">110</td><td colspan="7"></td></tr><tr><td class="h">111 - 115</td><td colspan="6"></td><td class="s"><pre>=head2 links_template

This is the template object used to render links.

=cut</pre></td></tr>
<tr><td class="h">116</td><td colspan="7"></td></tr><tr><td class="h">117</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">has links_template =&gt; (</td></tr>
<tr><td class="h">118</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;ro&#39;,</td></tr>
<tr><td class="h">119</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;isa&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; class_type(&#39;Template::Pure&#39;),</td></tr>
<tr><td class="h">120</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;lazy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; 1,</td></tr>
<tr><td class="h">121</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;builder&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;_build_links_template&#39;,</td></tr>
<tr><td class="h">122</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">);</td></tr>
<tr><td class="h">123</td><td colspan="7"></td></tr><tr><td class="h">124</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_links_template {</td></tr>
<tr><td class="h">125</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--subroutine.html#L125">0</a></div></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $self = shift;</td></tr>
<tr><td class="h">126</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$self-&gt;prepare_template(</td></tr>
<tr><td class="h">127</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;&nbsp;&nbsp;=&gt; &#39;links.html&#39;,</td></tr>
<tr><td class="h">128</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directives =&gt; [</td></tr>
<tr><td class="h">129</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.links&#39; =&gt; {</td></tr>
<tr><td class="h">130</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;link&lt;-links&#39; =&gt; [</td></tr>
<tr><td class="h">131</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;a&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;link.label&#39;,</td></tr>
<tr><td class="h">132</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;a@href&#39; =&gt; &#39;link.href&#39;,</td></tr>
<tr><td class="h">133</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">134</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">135</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">136</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">137</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">138</td><td colspan="7"></td></tr><tr><td class="h">139 - 147</td><td colspan="6"></td><td class="s"><pre>=head1 METHODS

=head2 page_template

&nbsp;&nbsp;my $template = $self-&gt;page_template(&#39;default&#39;);

Returns the template used to render pages for the given style name.

=cut</pre></td></tr>
<tr><td class="h">148</td><td colspan="7"></td></tr><tr><td class="h">149</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub page_template {</td></tr>
<tr><td class="h">150</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L150">2</a></div></td><td><div class="c3">1</div></td><td><div>6</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($self, $which) = @_;</td></tr>
<tr><td class="h">151</td><td colspan="7"></td></tr><tr><td class="h">152</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;_page_templates-&gt;{ $which }</td></tr>
<tr><td class="h">153</td><td><div class="c3">2</div></td><td><div class="c0" title="-/F"><a href="lib-Yukki-Web-View-pm--branch.html#L153">50</a></div></td><td></td><td></td><td></td><td><div>11</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if $self-&gt;_page_templates-&gt;{ $which };</td></tr>
<tr><td class="h">154</td><td colspan="7"></td></tr><tr><td class="h">155</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L155">50</a></div></td><td></td><td></td><td><div>7</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $view = $which // &#39;default&#39;;</td></tr>
<tr><td class="h">156</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L156">50</a></div></td><td></td><td></td><td><div>44</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $view_args = $self-&gt;app-&gt;settings-&gt;page_views-&gt;{ $view }</td></tr>
<tr><td class="h">157</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// { template =&gt; &#39;shell.html&#39; };</td></tr>
<tr><td class="h">158</td><td><div class="c3">2</div></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--condition.html#L158">100</a></div></td><td></td><td></td><td><div>28</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$view_args-&gt;{directives} //= [];</td></tr>
<tr><td class="h">159</td><td colspan="7"></td></tr><tr><td class="h">160</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my %menu_vars = map {</td></tr>
<tr><td class="h">161</td><td><div class="c3">8</div></td><td></td><td></td><td></td><td></td><td><div>27</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $menu_name = $_;</td></tr>
<tr><td class="h">162</td><td><div class="c3">8</div></td><td></td><td></td><td></td><td></td><td><div>48</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;#nav-$menu_name .navigation&quot; =&gt; {</td></tr>
<tr><td class="h">163</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;menu_item&lt;-$menu_name&quot; =&gt; [</td></tr>
<tr><td class="h">164</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;a&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;menu_item.label&#39;,</td></tr>
<tr><td class="h">165</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;a@href&#39; =&gt; &#39;menu_item.href&#39;,</td></tr>
<tr><td class="h">166</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">167</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">168</td><td><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>5</div><div>41</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;} @{ $self-&gt;app-&gt;settings-&gt;menu_names };</td></tr>
<tr><td class="h">169</td><td colspan="7"></td></tr><tr><td class="h">170</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;_page_templates-&gt;{ $which } = $self-&gt;prepare_template(</td></tr>
<tr><td class="h">171</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;&nbsp;&nbsp;=&gt; $view_args-&gt;{template},</td></tr>
<tr><td class="h">172</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directives =&gt; [</td></tr>
<tr><td class="h">173</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$view_args-&gt;{directives}-&gt;@*,</td></tr>
<tr><td class="h">174</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>28</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;head script.local&#39; =&gt; {</td></tr>
<tr><td class="h">175</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;script&lt;-scripts&#39; =&gt; [</td></tr>
<tr><td class="h">176</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;@src&#39; =&gt; &#39;script&#39;,</td></tr>
<tr><td class="h">177</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">178</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">179</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;head link.local&#39;&nbsp;&nbsp;&nbsp;=&gt; {</td></tr>
<tr><td class="h">180</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;link&lt;-links&#39; =&gt; [</td></tr>
<tr><td class="h">181</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;@href&#39; =&gt; &#39;link&#39;,</td></tr>
<tr><td class="h">182</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">183</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">184</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;#messages&#39;&nbsp;&nbsp;&nbsp;=&gt; &#39;messages | encoded_string&#39;,</td></tr>
<tr><td class="h">185</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;title&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;main_title&#39;,</td></tr>
<tr><td class="h">186</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;.masthead-title&#39; =&gt; &#39;title&#39;,</td></tr>
<tr><td class="h">187</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%menu_vars,</td></tr>
<tr><td class="h">188</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;#breadcrumb li&#39; =&gt; {</td></tr>
<tr><td class="h">189</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;crumb&lt;-breadcrumb&#39; =&gt; [</td></tr>
<tr><td class="h">190</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;a&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;crumb.label&#39;,</td></tr>
<tr><td class="h">191</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;a@href&#39; =&gt; &#39;crumb.href&#39;,</td></tr>
<tr><td class="h">192</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">193</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">194</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;#content&#39;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; &#39;content | encoded_string&#39;,</td></tr>
<tr><td class="h">195</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">196</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">197</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">198</td><td colspan="7"></td></tr><tr><td class="h">199 - 212</td><td colspan="6"></td><td class="s"><pre>=head2 prepare_template

&nbsp;&nbsp;my $template = $self-&gt;prepare_template({
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;&nbsp;&nbsp;=&gt; &#39;foo.html&#39;,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directives =&gt; { ... },
&nbsp;&nbsp;});

This prepares a template for later rendering.

The C&lt;template&gt; is the name of the template file to use.

The C&lt;directives&gt; are the L&lt;Template::Pure&gt; directives to apply data given at render time to modify the template to create the output.

=cut</pre></td></tr>
<tr><td class="h">213</td><td colspan="7"></td></tr><tr><td class="h">214</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub prepare_template {</td></tr>
<tr><td class="h">215</td><td><div class="c3">6</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L215">6</a></div></td><td><div class="c3">1</div></td><td><div>28</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($self, $opt)</td></tr>
<tr><td class="h">216</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= validate(\@_, class_type(__PACKAGE__),</td></tr>
<tr><td class="h">217</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slurpy Dict[</td></tr>
<tr><td class="h">218</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;&nbsp;&nbsp;=&gt; Str,</td></tr>
<tr><td class="h">219</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directives =&gt; ArrayRef,</td></tr>
<tr><td class="h">220</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]);</td></tr>
<tr><td class="h">221</td><td><div class="c3">6</div><div class="c3">6</div></td><td></td><td></td><td></td><td></td><td><div>29441</div><div>422</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($template, $directives) = @{$opt}{qw( template directives )};</td></tr>
<tr><td class="h">222</td><td colspan="7"></td></tr><tr><td class="h">223</td><td><div class="c3">6</div></td><td></td><td></td><td></td><td></td><td><div>31</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $template_content =</td></tr>
<tr><td class="h">224</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$self-&gt;app-&gt;locate_dir(&#39;template_path&#39;, $template)-&gt;slurp;</td></tr>
<tr><td class="h">225</td><td colspan="7"></td></tr><tr><td class="h">226</td><td><div class="c3">6</div></td><td></td><td></td><td></td><td></td><td><div>853</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return Template::Pure-&gt;new(</td></tr>
<tr><td class="h">227</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template&nbsp;&nbsp;&nbsp;=&gt; $template_content,</td></tr>
<tr><td class="h">228</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directives =&gt; $directives,</td></tr>
<tr><td class="h">229</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">230</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">231</td><td colspan="7"></td></tr><tr><td class="h">232 - 247</td><td colspan="6"></td><td class="s"><pre>=head2 render_page

&nbsp;&nbsp;my $document = $self-&gt;render_page({
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; &#39;foo.html&#39;,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;&nbsp;=&gt; $ctx,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; { ... },
&nbsp;&nbsp;});

This renders the given template and places it into the content section of the
F&lt;shell.html&gt; template.

The C&lt;context&gt; is used to render parts of the shell template.

The C&lt;vars&gt; are processed against the given template with L&lt;Template::Pure&gt;.

=cut</pre></td></tr>
<tr><td class="h">248</td><td colspan="7"></td></tr><tr><td class="h">249</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub render_page {</td></tr>
<tr><td class="h">250</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L250">2</a></div></td><td><div class="c3">1</div></td><td><div>946</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($self, $opt)</td></tr>
<tr><td class="h">251</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= validate(\@_, class_type(__PACKAGE__),</td></tr>
<tr><td class="h">252</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slurpy Dict[</td></tr>
<tr><td class="h">253</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; class_type(&#39;Template::Pure&#39;),</td></tr>
<tr><td class="h">254</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;&nbsp;=&gt; class_type(&#39;Yukki::Web::Context&#39;),</td></tr>
<tr><td class="h">255</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; HashRef,</td></tr>
<tr><td class="h">256</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]);</td></tr>
<tr><td class="h">257</td><td><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>13842</div><div>180</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($template, $ctx, $vars) = @{$opt}{qw( template context vars )};</td></tr>
<tr><td class="h">258</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L258">50</a></div></td><td></td><td></td><td><div>9</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$vars //= {};</td></tr>
<tr><td class="h">259</td><td colspan="7"></td></tr><tr><td class="h">260</td><td><div class="c3">2</div></td><td><div class="c0" title="-/F"><a href="lib-Yukki-Web-View-pm--branch.html#L260">50</a></div><div class="c0" title="-/F"><a href="lib-Yukki-Web-View-pm--branch.html#L260">50</a></div><div class="c0" title="-/F"><a href="lib-Yukki-Web-View-pm--branch.html#L260">50</a></div></td><td></td><td></td><td></td><td><div>46</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $messages = $self-&gt;render(</td></tr>
<tr><td class="h">261</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; $self-&gt;messages_template,</td></tr>
<tr><td class="h">262</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;&nbsp;=&gt; $ctx,</td></tr>
<tr><td class="h">263</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; {</td></tr>
<tr><td class="h">264</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;errors&nbsp;&nbsp;&nbsp;=&gt; $ctx-&gt;has_errors&nbsp;&nbsp;&nbsp;? [ $ctx-&gt;list_errors&nbsp;&nbsp;&nbsp;] : undef,</td></tr>
<tr><td class="h">265</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;warnings =&gt; $ctx-&gt;has_warnings ? [ $ctx-&gt;list_warnings ] : undef,</td></tr>
<tr><td class="h">266</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; $ctx-&gt;has_info&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? [ $ctx-&gt;list_info&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] : undef,</td></tr>
<tr><td class="h">267</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">268</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">269</td><td colspan="7"></td></tr><tr><td class="h">270</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>4133</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($main_title, $title);</td></tr>
<tr><td class="h">271</td><td><div class="c3">2</div></td><td><div class="c0" title="T/-"><a href="lib-Yukki-Web-View-pm--branch.html#L271">50</a></div></td><td></td><td></td><td></td><td><div>61</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;if ($ctx-&gt;response-&gt;has_page_title) {</td></tr>
<tr><td class="h">272</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>60</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$title&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $ctx-&gt;response-&gt;page_title;</td></tr>
<tr><td class="h">273</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>90</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$main_title = $ctx-&gt;response-&gt;page_title . &#39; - Yukki&#39;;</td></tr>
<tr><td class="h">274</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">275</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;else {</td></tr>
<tr><td class="h">276</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$title = $main_title = &#39;Yukki&#39;;</td></tr>
<tr><td class="h">277</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">278</td><td colspan="7"></td></tr><tr><td class="h">279</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my %menu_vars = map {</td></tr>
<tr><td class="h">280</td><td><div class="c3">8</div></td><td></td><td></td><td></td><td></td><td><div>42</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$_ =&gt; $self-&gt;available_menu_items($ctx, $_)</td></tr>
<tr><td class="h">281</td><td><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>50</div><div>41</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;} @{ $self-&gt;app-&gt;settings-&gt;menu_names };</td></tr>
<tr><td class="h">282</td><td colspan="7"></td></tr><tr><td class="h">283</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>43</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my @scripts = $self-&gt;app-&gt;settings-&gt;all_scripts;</td></tr>
<tr><td class="h">284</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td></td><td><div>39</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my @styles&nbsp;&nbsp;= $self-&gt;app-&gt;settings-&gt;all_styles;</td></tr>
<tr><td class="h">285</td><td colspan="7"></td></tr><tr><td class="h">286</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L286">50</a></div></td><td></td><td></td><td><div>39</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $view&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= $ctx-&gt;request-&gt;parameters-&gt;{view} // &#39;default&#39;;</td></tr>
<tr><td class="h">287</td><td colspan="7"></td></tr><tr><td class="h">288</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L288">50</a></div></td><td></td><td></td><td><div>592</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$vars-&gt;{&#39;head script.local&#39;} //= [];</td></tr>
<tr><td class="h">289</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L289">50</a></div></td><td></td><td></td><td><div>23</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$vars-&gt;{&#39;head link.local&#39;}&nbsp;&nbsp;&nbsp;//= [];</td></tr>
<tr><td class="h">290</td><td colspan="7"></td></tr><tr><td class="h">291</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;render(</td></tr>
<tr><td class="h">292</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; $self-&gt;page_template($view),</td></tr>
<tr><td class="h">293</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;&nbsp;=&gt; $ctx,</td></tr>
<tr><td class="h">294</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; {</td></tr>
<tr><td class="h">295</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$vars-&gt;%*,</td></tr>
<tr><td class="h">296</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scripts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; [</td></tr>
<tr><td class="h">297</td><td><div class="c3">12</div></td><td></td><td></td><td></td><td></td><td><div>20032</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map { $ctx-&gt;rebase_url($_) }</td></tr>
<tr><td class="h">298</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@scripts,</td></tr>
<tr><td class="h">299</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$vars-&gt;{&#39;head script.local&#39;}-&gt;@*,</td></tr>
<tr><td class="h">300</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">301</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;links&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; [</td></tr>
<tr><td class="h">302</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td></td><td><div>668</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map { $ctx-&gt;rebase_url($_) }</td></tr>
<tr><td class="h">303</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@styles,</td></tr>
<tr><td class="h">304</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$vars-&gt;{&#39;head link.local&#39;}-&gt;@*,</td></tr>
<tr><td class="h">305</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],</td></tr>
<tr><td class="h">306</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;messages&#39;&nbsp;&nbsp;&nbsp;=&gt; $messages,</td></tr>
<tr><td class="h">307</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;main_title&#39; =&gt; $main_title,</td></tr>
<tr><td class="h">308</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;title&#39;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; $title,</td></tr>
<tr><td class="h">309</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%menu_vars,</td></tr>
<tr><td class="h">310</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;breadcrumb&#39; =&gt; $ctx-&gt;response-&gt;has_breadcrumb ? [</td></tr>
<tr><td class="h">311</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;map {</td></tr>
<tr><td class="h">312</td><td><div class="c3">2</div></td><td><div class="c3" title="T/F"><a href="lib-Yukki-Web-View-pm--branch.html#L312">100</a></div></td><td></td><td></td><td></td><td><div>12</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+{</td></tr>
<tr><td class="h">313</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%$_,</td></tr>
<tr><td class="h">314</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td></td><td><div>9</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;href =&gt; $ctx-&gt;rebase_url($_-&gt;{href}),</td></tr>
<tr><td class="h">315</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">316</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} $ctx-&gt;response-&gt;breadcrumb_links</td></tr>
<tr><td class="h">317</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;] : undef,</td></tr>
<tr><td class="h">318</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#39;content&#39;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; $self-&gt;render(</td></tr>
<tr><td class="h">319</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; $template,</td></tr>
<tr><td class="h">320</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;&nbsp;=&gt; $ctx,</td></tr>
<tr><td class="h">321</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; $vars,</td></tr>
<tr><td class="h">322</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),</td></tr>
<tr><td class="h">323</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">324</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">325</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">326</td><td colspan="7"></td></tr><tr><td class="h">327 - 333</td><td colspan="6"></td><td class="s"><pre>=head2 available_menu_items

&nbsp;&nbsp;my @items = $self-&gt;available_menu_items($ctx, &#39;menu_name&#39;);

Retrieves the navigation menu from the L&lt;Yukki::Web::Response&gt; and purges any links that the current user does not have access to.

=cut</pre></td></tr>
<tr><td class="h">334</td><td colspan="7"></td></tr><tr><td class="h">335</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub available_menu_items {</td></tr>
<tr><td class="h">336</td><td><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L336">8</a></div></td><td><div class="c3">1</div></td><td><div>20</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($self, $ctx, $name) = @_;</td></tr>
<tr><td class="h">337</td><td colspan="7"></td></tr><tr><td class="h">338</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my @items = map {</td></tr>
<tr><td class="h">339</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+{</td></tr>
<tr><td class="h">340</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%$_,</td></tr>
<tr><td class="h">341</td><td><div class="c3">9</div></td><td></td><td></td><td></td><td></td><td><div>1297</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;href =&gt; $ctx-&gt;rebase_url($_-&gt;{href}),</td></tr>
<tr><td class="h">342</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">343</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;} grep {</td></tr>
<tr><td class="h">344</td><td><div class="c3">8</div><div class="c3">15</div><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>141</div><div>33</div><div>31</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $url = $_-&gt;{href}; $url =~ s{\?.*$}{};</td></tr>
<tr><td class="h">345</td><td colspan="7"></td></tr><tr><td class="h">346</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>207</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $match = $self-&gt;app-&gt;router-&gt;match($url);</td></tr>
<tr><td class="h">347</td><td><div class="c3">15</div></td><td><div class="c0" title="-/F"><a href="lib-Yukki-Web-View-pm--branch.html#L347">50</a></div></td><td></td><td></td><td></td><td><div>99</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return unless $match;</td></tr>
<tr><td class="h">348</td><td><div class="c3">15</div></td><td></td><td></td><td></td><td></td><td><div>35</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $access_level_needed = $match-&gt;access_level;</td></tr>
<tr><td class="h">349</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$self-&gt;check_access(</td></tr>
<tr><td class="h">350</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; $ctx-&gt;session-&gt;{user},</td></tr>
<tr><td class="h">351</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;repository =&gt; $match-&gt;mapping-&gt;{repository} // &#39;-&#39;,</td></tr>
<tr><td class="h">352</td><td><div class="c3">15</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L352">50</a></div><div class="c3"><a href="lib-Yukki-Web-View-pm--condition.html#L352">100</a></div></td><td></td><td></td><td><div>227</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;special&nbsp;&nbsp;&nbsp;&nbsp;=&gt; $match-&gt;mapping-&gt;{special} // &#39;-&#39;,</td></tr>
<tr><td class="h">353</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;needs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; $access_level_needed,</td></tr>
<tr><td class="h">354</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">355</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;} $ctx-&gt;response-&gt;navigation_menu($name);</td></tr>
<tr><td class="h">356</td><td colspan="7"></td></tr><tr><td class="h">357</td><td><div class="c3">8</div></td><td><div class="c3" title="T/F"><a href="lib-Yukki-Web-View-pm--branch.html#L357">100</a></div></td><td></td><td></td><td></td><td><div>764</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return @items ? \@items : undef;</td></tr>
<tr><td class="h">358</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">359</td><td colspan="7"></td></tr><tr><td class="h">360 - 366</td><td colspan="6"></td><td class="s"><pre>=head2 render_links

&nbsp;&nbsp;my $document = $self-&gt;render_links($ctx, \@navigation_links);

This renders a set of links using the F&lt;links.html&gt; template.

=cut</pre></td></tr>
<tr><td class="h">367</td><td colspan="7"></td></tr><tr><td class="h">368</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub render_links {</td></tr>
<tr><td class="h">369</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--subroutine.html#L369">0</a></div></td><td><div class="c3">1</div></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($self, $opt)</td></tr>
<tr><td class="h">370</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= validate(\@_, class_type(__PACKAGE__),</td></tr>
<tr><td class="h">371</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slurpy Dict[</td></tr>
<tr><td class="h">372</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context =&gt; class_type(&#39;Yukki::Web::Context&#39;),</td></tr>
<tr><td class="h">373</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;links&nbsp;&nbsp;&nbsp;=&gt; ArrayRef[HashRef],</td></tr>
<tr><td class="h">374</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]);</td></tr>
<tr><td class="h">375</td><td><div class="c0">0</div><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($ctx, $links) = @{$opt}{qw( context links )};</td></tr>
<tr><td class="h">376</td><td colspan="7"></td></tr><tr><td class="h">377</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;render(</td></tr>
<tr><td class="h">378</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; $self-&gt;links_template,</td></tr>
<tr><td class="h">379</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;&nbsp;=&gt; $ctx,</td></tr>
<tr><td class="h">380</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; {</td></tr>
<tr><td class="h">381</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;links =&gt; [ map {</td></tr>
<tr><td class="h">382</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+{</td></tr>
<tr><td class="h">383</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label =&gt; $_-&gt;{label},</td></tr>
<tr><td class="h">384</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;href&nbsp;&nbsp;=&gt; $ctx-&gt;rebase_url($_-&gt;{href}),</td></tr>
<tr><td class="h">385</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">386</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} @$links ],</td></tr>
<tr><td class="h">387</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},</td></tr>
<tr><td class="h">388</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">389</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">390</td><td colspan="7"></td></tr><tr><td class="h">391 - 401</td><td colspan="6"></td><td class="s"><pre>=head2 render

&nbsp;&nbsp;my $document = $self-&gt;render({
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; $template,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; { ... },
&nbsp;&nbsp;});

This renders the given L&lt;Template::Pure&gt;. The C&lt;vars&gt; are
used as the ones passed to the C&lt;process&gt; method.

=cut</pre></td></tr>
<tr><td class="h">402</td><td colspan="7"></td></tr><tr><td class="h">403</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">sub render {</td></tr>
<tr><td class="h">404</td><td><div class="c3">6</div></td><td></td><td></td><td><div class="c3"><a href="lib-Yukki-Web-View-pm--subroutine.html#L404">6</a></div></td><td><div class="c3">1</div></td><td><div>2337</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($self, $opt)</td></tr>
<tr><td class="h">405</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= validate(\@_, class_type(__PACKAGE__),</td></tr>
<tr><td class="h">406</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;slurpy Dict[</td></tr>
<tr><td class="h">407</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template =&gt; class_type(&#39;Template::Pure&#39;),</td></tr>
<tr><td class="h">408</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;context&nbsp;&nbsp;=&gt; class_type(&#39;Yukki::Web::Context&#39;),</td></tr>
<tr><td class="h">409</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vars&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&gt; HashRef,</td></tr>
<tr><td class="h">410</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]);</td></tr>
<tr><td class="h">411</td><td><div class="c3">6</div><div class="c3">6</div></td><td></td><td></td><td></td><td></td><td><div>39967</div><div>560</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($template, $ctx, $vars) = @{$opt}{qw( template context vars )};</td></tr>
<tr><td class="h">412</td><td><div class="c3">6</div></td><td></td><td><div class="c0"><a href="lib-Yukki-Web-View-pm--condition.html#L412">50</a></div></td><td></td><td></td><td><div>21</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;$vars //= {};</td></tr>
<tr><td class="h">413</td><td colspan="7"></td></tr><tr><td class="h">414</td><td><div class="c3">6</div></td><td></td><td></td><td></td><td></td><td><div>37</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my %vars = (</td></tr>
<tr><td class="h">415</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%$vars,</td></tr>
<tr><td class="h">416</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctx&nbsp;&nbsp;=&gt; $ctx,</td></tr>
<tr><td class="h">417</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;view =&gt; $self,</td></tr>
<tr><td class="h">418</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">419</td><td colspan="7"></td></tr><tr><td class="h">420</td><td><div class="c3">6</div></td><td></td><td></td><td></td><td></td><td><div>25</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $template-&gt;render($vars);</td></tr>
<tr><td class="h">421</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">422</td><td colspan="7"></td></tr><tr><td class="h">423</td><td></td><td></td><td></td><td></td><td></td><td></td><td class="s">1;</td></tr>
</table>
</body>
</html>