%# # user not logged in
% if (!stash('documentation') && !$embedded && !user_auth && stash('auth_support')) {
%   content_for 'sidebar', begin
%     if (flash('handle_or_email') && !param('handle_or_email')) {
%       param(handle_or_email => flash('handle_or_email'));
%     };
    <fieldset>
    %= form_for 'login', class => 'login', begin
      <legend><span><%= loc 'login' %></span></legend>
      %= csrf_field
      %= text_field 'handle_or_email', placeholder => loc('userormail')
      %= hidden_field fwd => $c->url_with
      <div>
        %= password_field 'pwd', placeholder => loc('pwd')
        <button type="submit"><span><%= loc 'go' %></span></button>
      </div>
    % end
    <p><%== loc 'loginExplanation' %></p>
    %#  <ul>
    %#    <li><%= link_to loc('register') => 'register' %></li>
    %#    <li><%= link_to loc('pwdforgotten') => 'pwd_forgotten' %></li>
    %#  </ul>
    </fieldset>
%   end
% }

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