<!DOCTYPE html>
<html>
  <head>
    <title><%= title() // loc('korap_desc') %></title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=false, user-scalable=no" />
    <link href="<%= stash 'prefix' %>/img/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
    <link href="<%= stash 'prefix' %>/css/kalamar-<%= $Kalamar::VERSION %>.css" type="text/css" rel="stylesheet" />
    %= javascript begin  
  window.KorAP = window.KorAP || {};
  % my $api = url_for('index');
  % $api =~ s!/$!!;
  KorAP.URL = '<%== $api %>';
% end
    <script src="<%= (stash('prefix') // '') . '/js/' . loc('jsFile', 'kalamar-' . $Kalamar::VERSION . '-en.js') %>" async="async"></script>
  </head>
% my $embedded = 0;
% $embedded = 1 if stash('embedded');
  <body<% if ($embedded) { %> class="embedded"<% } %>>
    <div id="kalamar-bg"></div>

    % unless ($embedded) {
    %= include 'partial/header'
    % }

    % my $aside = content_for('sidebar');
    <aside tabindex="0" class="<% unless (length($aside) > 0) { %>off<% } elsif (stash('sidebar_active')) { %>active<% } %>">
      <div>
    %= $aside
      </div>
    </aside>

    <main<% if (stash 'main_class') { %> class="<%= stash 'main_class' %>"<% } %>>
    %= content
    </main>

    % unless ($embedded) {
    <footer>
      <a href="http://korap.ids-mannheim.de/"><%= loc 'about' %></a>
      <%= doc_link_to 'V '. $Kalamar::VERSION, 'korap', 'kalamar' %>
    </footer>
    % };
%= notifications 'Alertify', -no_include
  </body>
</html>
