Add Apache specific section to docs.
[catagits/Gitalist.git] / root / wrapper.tt2
index 593246a..e4a9057 100755 (executable)
@@ -1,7 +1,6 @@
 [%- IF no_wrapper || template.name.match('\.(css|js|txt)'); content; ELSE; -%]
-<!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" xml:lang="en" lang="en">
+<!DOCTYPE html>
+<html>
 <head>
   <!-- git core binaries version [% git_version %] -->
   <meta charset="utf-8" />
   -%] (Gitalist)</title>
   [% INCLUDE '_header_feeds.tt2' %]
    
-       <link rel="stylesheet" type="text/css" href="[% c.uri_for('/static/css/core.css') %]" />
-       <link rel="shortcut icon" href="[% c.uri_for('/static/git-favicon.png') %]" type="image/png" />
+       <link rel="stylesheet" type="text/css" href="[% c.uri_for('/core.css') %]" />
+       <link rel="shortcut icon" href="[% c.uri_for('/static/favicon.ico') %]" />
+       <script src="[% c.uri_for('/static/js/jquery.min.js') %]"></script>
+       <script src="[% c.uri_for('/static/js/site.js') %]"></script>
 </head>
 
 <body>
        <div class="sub_holder">
                <div id="header">
                        <a href="[% c.uri_for('/') %]" id="logo"><img src="[% c.uri_for('/static/i/logo.png') %]" alt="Gitalist" /></a>
-               
+
                        <div class="search">
-                               [% IF Repository; INCLUDE 'nav/search.tt2'; ELSE; %]
-                               
-                               <form method="get" action="[% c.uri_for_action('/search') %]" enctype="application/x-www-form-urlencoded">
-          <p class="projsearch">Search:
-           <input type="text" name="s" value="[% search_text %]" />
-          </p>
-         </form>
+                       [% IF Repository; INCLUDE 'nav/search.tt2'; ELSE; %]
+                       
+                       <!--
+                       [%# FIXME - Search submits to blank(ish) page %]
+                       <form method="get" action="[% c.uri_for_action('/search') %]" enctype="application/x-www-form-urlencoded">
+                          <p class="projsearch">Search:
+                           <input type="text" name="s" value="[% search_text %]" />
+                          </p>
+                       </form>
+                       -->
                        [% END %]
                        </div>
                </div>
                
                
                <div id="nav_logs" [% 'style="visibility:hidden"' IF c.action.name == "index" %]>
+               
+                       [% IF c.req.captures.size == 1; SET path = 'repository'; ELSE; SET path = 'ref'; END %]
+                       
                        <ul>
-                               [% IF c.req.captures.size == 1; SET path = 'repository'; ELSE; SET path = 'ref'; END %]
+                               <li[% ' class="selected"' IF c.action.name.match('tree') %]><a href="[% c.uri_for_action('/ref/tree', c.req.captures) || c.uri_for_action('/repository/tree', c.req.captures) %]" id="tree">Tree</a></li>
+
+                               <li[% ' class="selected"' IF c.action.name.match('longlog') %]><a href="[% c.uri_for_action('/' _ path _ '/longlog', c.req.captures) %]" id="log_full">Long log</a></li>
+                               
+                               <li[% ' class="selected"' IF c.action.name.match('shortlog') %]><a href="[% c.uri_for_action('/' _ path _ '/shortlog', c.req.captures) %]" id="log_short">Short log</a></li>
+
+                               
+                               <li id="branch_selector">
+                                       Branches 
+                                       <select id='branch-list'>
+                                               <option value="">HEAD</option>
+                                       [%- FOREACH branch IN Repository.heads -%]
+                                               <option value="[% branch.name %]">[% branch.name %]</option>
+                                               [% IF loop.count == c.config.paging.summary %]
+                                               <option value="...">&gt;Branch list</option>
+                                               [% LAST %]
+                                               [% END %]
+                                       [% END -%]
+                                       
+                                       </select>
+                               </li>
                                
-                               <li [% 'class="selected"' IF c.action.name.match('longlog') %]><a href="[% c.uri_for_action('/' _ path _ '/longlog', c.req.captures) %]" id="log_full">Long log</a></li>
-                               <li [% 'class="selected"' IF c.action.name.match('shortlog') %]><a href="[% c.uri_for_action('/' _ path _ '/shortlog', c.req.captures) %]" id="log_short">Short log</a></li>
                        </ul>
                </div>
        
                        <a href="[% c.uri_for('/') %]">Home</a>
                
                        [%- IF Repository %]
-               / <a href="[% c.uri_for_action('/repository/summary', [Repository.name]) %]/shortlog">[% Repository.name %]</a>
+               / <a href="[% c.uri_for_action('/repository/summary', [Repository.name]) %]">[% Repository.name %]</a>
                        [%- END %]
                        /
+                       [%- IF Repository %]
+                               [%# FIXME: output branch name in a nicer way!!!  #%]
+                               [%- FOREACH branch_head IN Repository.heads %]
+                                       [%- IF c.req.path.search(branch_head.name) %]
+                               <a href="[% c.uri_for_action('/repository/summary', [Repository.name]) %]/[% branch_head.name %]/shortlog">[% branch_head.name %]</a> /
+                                       [% END -%]
+                               [% END -%]
+                       [%- END %]
                        
                        
-                       [% c.action.name.replace("_"," ").replace("log", " log").replace("fancy","").replace("index","Repositories") FILTER ucfirst %]
-                       
-       
-                       
+                       [%- 
+                               
+                               #FIXME on a history view of a folder, don't show extra actions in dropdown
+                               SET on_file_page = 1;
+                               
+                               SET actions_list = {
+                                               "blob"          => 1,
+                                               "raw"           => 1,
+                                               "blame"         => 1,
+                                               "history"       => 1,
+                                       };
+                                       
+                               SET action_name = c.action.name
+                                                                       .replace("_"," ")
+                                                                       .replace("log", " log")
+                                                                       .replace("fancy","")
+                                                                       .replace("index","Repositories");
+                               action_name_ucfirst = action_name FILTER ucfirst;
+                               IF actions_list.$action_name && on_file_page;
+                                       '<a href="#" id="actions_nav_link"><span>' _ action_name_ucfirst _ '</span></a>';
+                               ELSE;
+                                       action_name_ucfirst;
+                               END;
+                               
+                       -%]
+
                        </h1>
        
+                       [%- 
+                               IF actions_list.$action_name;
+                               '<ul id="actions_nav_list">';
+                                       FOREACH action IN actions_list;
+                                               action_output = action.key FILTER ucfirst;
+                                               NEXT IF action_output == action_name_ucfirst;   
+                                               action = action.key;
+                                               '<li><a href="' _ c.uri_for("/")  _ c.req.path.replace(action_name, action) _ '">' _ action_output _ '</a></li>';
+                                       END;                    
+                               '</ul>';
+                               END;
+                       -%]
+               
        </div>
 </div>
 
-
-
+       
 <div id="content_holder">
        <div id="content" class="sub_holder">
                <div id="content_inner">
 <div id="footer_holder">
        <div id="footer" class="sub_holder">
                
-               <p>[% IF Repository; Repository.description | html; END; %]</p>
+               <p>[% IF Repository; Repository.description | html IF Repository.description != "Unnamed repository; edit this file to name it for gitweb." ; END; %]</p>
        
                <a title="git homepage" href="http://git-scm.org"><img src="[% c.uri_for('/logo.png') %]" id="git_logo" alt="git" /></a>
                
 </div>
 
 
+
 <div id="debug_holder">
        <div id="debug" class="sub_holder">
 
        [% USE Dumper %]
        <pre>
        [% Repository.path %]
-       [% Dumper.dump(c.action.name) %]
+       [% Dumper.dump(c.req.args) %]
        </pre>
        
        </div>
 </div>
 
+<span id="current-uri" class="js-data">[%
+      # A bit of smoke and mirrors to get the /repository/shortlog URIs working
+      cur_act = '' _ c.action;
+      cur_uri = cur_act.match("log") || cur_act.match("^ref")
+              ? '/ref/' _ cur_act.replace("^(repository|ref)/", '')
+             : cur_act;
+      # XXX I just want lists!
+      IF c.req.args.size > 0;
+          c.uri_for_action(cur_uri, [Repository.name, 'HEAD'], c.req.args.0);
+      ELSE;
+          c.uri_for_action(cur_uri, [Repository.name, 'HEAD']);
+      END;
+%]</span>
+<span id="heads-uri" class="js-data">[% c.uri_for_action('/repository/heads', [Repository.name]) %]</span>
+
 </body>
 </html>
 [%- END -%]