[%- 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('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[% ' 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="...">>Branch list</option>
+ [% LAST %]
+ [% END %]
+ [% END -%]
+
+ </select>
+ </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">
[% content %]
-
- [%# INCLUDE 'nav/actions.tt2' %]
</div>
</div>
</div>
<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 -%]