-<tbody class='listing'>
- [% FOR p IN repositories %]
- [%- repos_link = c.uri_for_action('/repository/summary', [p.name]) -%]
-<tr class="reposrow">
- <td><a class="list" href="[% repos_link %]">[% p.name %]</a></td>
- <td><a class="list" title="[% p.description %]" href="[% repos_link %]/shortlog">[% abridged_description(p.description) %]</a></td>
- <td>[% p.owner %]</td>
+<tbody>
+[% FOR p IN repositories %]
+ [%- repos_link = c.uri_for_action('/repository/summary', [p.name]) -%]
+<tr [% "class='invert'" IF loop.count % 2 %]>
+ <td>[% loop.count %]</td>
+ <td><a href="[% repos_link %]/shortlog"><strong>[% p.name %]</strong></a></td>
+ <td><span title="[% p.description %]">[% abridged_description(p.description) %]</span></td>
<td class="time-since">[% time_since(p.last_change) %]</td>
- <td class="link"><a href="[% repos_link %]">summary</a>
- | <a href="[% c.uri_for_action('/repository/shortlog', [p.name]) %]">shortlog</a>
- | <a href="[% c.uri_for_action('/repository/longlog', [p.name]) %]">log</a>
- | <a href="[% c.uri_for_action('/ref/tree', [p.name, 'HEAD']) %]">tree</a></td>
+ <td>[% p.owner %]</td>
+ <td class="action-list">
+ <a href="[% c.uri_for_action('/repository/shortlog', [p.name]) %]" title="Short log" class="button shortlog">short log</a>
+ <a href="[% c.uri_for_action('/repository/longlog', [p.name]) %]" title="Long log" class="button longlog">long log</a>
+ <a href="[% c.uri_for_action('/ref/tree', [p.name, 'HEAD']) %]" title="Tree" class="button tree">tree</a>
+ </td>
</tr>
- [% END %]
+[% END %]
</tbody>
<tr>
<[% cell %]>sha1</[% cell %]>
<[% cell %]>time</[% cell %]>
- <[% cell %]>author</[% cell %]>
<[% cell %]>message</[% cell %]>
+ <[% cell %]>author</[% cell %]>
<[% cell %]>actions</[% cell %]>
</tr>
[% END %]
-[%
- INCLUDE 'inc/log_pager.tt2';
-%] <table class='history listing'>
+ <table class='listing'>
<thead>[% PROCESS history_table_headfoot type = 'head' %]</thead
- <tfoot>[% PROCESS history_table_headfoot type = 'foot' %]</tfoot>
<tbody>
[% FOREACH line IN log_lines %]
- <tr>
+ <tr [% "class='invert'" IF loop.count % 2 %]>
<td class='sha1' title='[% line.sha1 %]'>[% INCLUDE 'inc/chroma_hash.tt2' sha1 = line.sha1.substr(0, 7) %]</td>
<td class='time-since' title='[% line.authored_time %]'>[% time_since(line.authored_time) %]</td>
- <td class='author'>[% line.author.name | html %]</td>
+
<td>
[% short_cmt(line.comment) | html %]
[% INCLUDE '_refs.tt2' object = line.0 %]
</td>
+ <td class='author'>[% line.author.name | html %]</td>
<td class='action-list'>
[% IF filetype == 'tree' %]
<a href="[% c.uri_for_action("/ref/tree", [Repository.name, line.sha1], filename) %]">blob</a>
[% BLOCK tree_table_headfoot %]
[% SET cell = type == 'head' ? 'th' : 'td' %]
<tr>
- <[% cell %]>mode</[% cell %]>
- <[% cell %]>file</[% cell %]>
- <[% cell %]>actions</[% cell %]>
+ <[% cell %]>Mode</[% cell %]>
+ <[% cell %]>File</[% cell %]>
+ <[% cell %]>Actions</[% cell %]>
</tr>
[% END %]
-<table class='tree listing'>
+<table class="listing">
<thead>[% PROCESS tree_table_headfoot type = 'head' %]</thead>
- <tfoot>[% PROCESS tree_table_headfoot type = 'foot' %]</tfoot>
-
<tbody>
[% FOREACH item IN tree_list %]
- <tr>
+ <tr [% "class='invert'" IF loop.count % 2 %]>
<td class='file-mode'>[% item.modestr %]</td>
[%-
action_type = item.type == 'tree' ? 'tree' : 'blob';
<a href="[% blob_or_tree_link %]">[% item.file %]</a>
</td>
<td class='action-list'>
- <a href="[% blob_or_tree_link %]">[% theact %]</a>
+ <a href="[% blob_or_tree_link %]">[% theact %]</a>
[% IF item.type == 'blob' %]
- <a href="[% c.uri_for_action('/ref/blob', c.req.captures, c.req.args.to_path(item.file)) %]">blob</a>
- <a href="[% c.uri_for_action('/ref/blame', c.req.captures, c.req.args.to_path(item.file)) %]">blame</a>
+ <a href="[% c.uri_for_action('/ref/blob', c.req.captures, c.req.args.to_path(item.file)) %]" title="Blob" class="button blob">Blob</a>
+ <a href="[% c.uri_for_action('/ref/raw', c.req.captures, c.req.args.to_path(item.file)) %]" title="Raw" class="button raw">raw</a>
+ <a href="[% c.uri_for_action('/ref/blame', c.req.captures, c.req.args.to_path(item.file)) %]" title="Blame" class="button blame">blame</a>
[% END %]
- <a href="[% c.uri_for_action('/ref/history', c.req.captures, c.req.args.to_path(item.file)) %]">history</a>
- [% IF item.type == 'blob' %]
- <a href="[% c.uri_for_action('/ref/raw', c.req.captures, c.req.args.to_path(item.file)) %]">raw</a>
- [% END %]
+ <a href="[% c.uri_for_action('/ref/history', c.req.captures, c.req.args.to_path(item.file)) %]" title="Short log" class="button shortlog">Short log</a>
</td>
</tr>
[% END %]
[% SET cell = type == 'head' ? 'th' : 'td' %]
<tr>
<[% cell %]>ID (sha1)</[% cell %]>
- <[% cell %]>Time</[% cell %]>
+ <[% cell %]>Last change</[% cell %]>
<[% cell %]>Message</[% cell %]>
- <[% cell %]>Author</[% cell %]>
+ <[% cell %]>By</[% cell %]>
<[% cell %]>Actions</[% cell %]>
</tr>
[% END %]
-<table class='shortlog listing'>
+<table class='listing'>
<thead>[% PROCESS shortlog_table_headfoot type = 'head' %]</thead>
<tbody>
[% FOREACH line IN log_lines %]
[% BLOCK repos_table_headfoot %]
[% SET cell = type == 'head' ? 'th' : 'td' %]
<tr>
+ <[% cell %]></[% cell %]>
<[% cell %]>Repository</[% cell %]>
<!-- XXX These do nothing presently -->
<[% cell %]><a class="header" href="/?o=descr">Description</a></[% cell %]>
- <[% cell %]><a class="header" href="/?o=owner">Owner</a></[% cell %]>
- <[% cell %]><a class="header" href="/?o=age">Last Change</a></[% cell %]>
- <[% cell %]></[% cell %]>
+ <[% cell %]><a class="header" href="/?o=age">Last change</a></[% cell %]>
+ <[% cell %]><a class="header" href="/?o=owner">By</a></[% cell %]>
+ <[% cell %]>Actions</[% cell %]>
</tr>
[% END %]
-<div class='content'>
- <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>
- <table class="repository_list">
- <thead>
- [% INCLUDE repos_table_headfoot type = 'head' %]
- </thead>
- <tfoot>
- [% INCLUDE repos_table_headfoot type = 'foot'%]
- </tfoot>
+<table class="listing">
+<thead>
+ [% INCLUDE repos_table_headfoot type = 'head' %]
+</thead>
+[% subinclude('/fragment/collectionofrepositories') %]
+</table>
- [% subinclude('/fragment/collectionofrepositories') %]
- </table>
-</div>
-<div class='content'>
- <div class='commit-message'>
- [% short_cmt(commit.comment) | html %] ...
- </div>
+
[%
IF path;
subinclude('/fragment/ref/tree', c.req.captures, c.req.args.to_path);
%]
-</div>
+
+ <div class='commit-message'>
+ [% short_cmt(commit.comment) | html %] ...
+ </div>
aborder:1px solid olive;
}
#content{
+ min-height:200px;
padding:0 12px 40px 10px;
- aborder:1px solid red;
background:transparent url(/static/i/bg_bottom.png) no-repeat center bottom;
}
#content_inner{
aborder:1px solid blue;
+ padding-bottom:30px;
background:transparent url(/static/i/bg_top.png) no-repeat;
}
#logo{
margin-right:50px;
float:right;
}
+#git_logo{
+ float:left;
+ margin-left:15px;
+}
+#feeds{
+ float:right;
+ margin-right:15px;
+}
+
+#footer p{
+ margin-left:15px;
+}
+#debug_holder{
+ clear:both;
+ padding-top:30px;
+ margin:30px 0;
+}
+#debug_holder pre{
+ margin:0;
+ padding:10px;
+ border:1px solid #ddd;
+ background-color:#f0f0f0;
+}
/* nav tabs */
#nav_logs{
.tree{
background:transparent url(/static/i/icons/tree.png) no-repeat;
}
-
+.shortlog{
+ background:transparent url(/static/i/icons/shortlog.png) no-repeat;
+}
+.longlog{
+ background:transparent url(/static/i/icons/longlog.png) no-repeat;
+}
+.blob{
+ background:transparent url(/static/i/icons/blob.png) no-repeat;
+}
+.blame{
+ background:transparent url(/static/i/icons/blame.png) no-repeat;
+}
+.history{
+ background:transparent url(/static/i/icons/history.png) no-repeat;
+}
+.raw{
+ background:transparent url(/static/i/icons/raw.png) no-repeat;
+}
.sha1_holder{
background:transparent url(/static/i/icons/button_sha1.png) no-repeat;
}
text-align:left;
color:#fff;
}
+th a{
+ color:#fff;
+}
tr.invert{
background-color:#f0f0f0;
}
.sha1{
width:80px;
}
+.file-mode{
+ width:80px;
+}
.time-since{
width:95px;
font-weight:bold;
padding:9px 5px 9px 10px;
}
.action-list{
- width:90px;
+ width:120px;
}
\ No newline at end of file
<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'; END %]
+ [% 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>
+ [% END %]
</div>
[%- END %]
/
- [% c.action.name.replace("_"," ").replace("log", " log") FILTER ucfirst %]
-
+
+ [% c.action.name.replace("_"," ").replace("log", " log").replace("index","Repositories") FILTER ucfirst %]
+
+
+
</h1>
</div>
- [% INCLUDE 'nav/actions.tt2' %]
+ [%# INCLUDE 'nav/actions.tt2' %]
</div>
</div>
</div>
-<div id="footer">
- <div class="sub_holder">
- [%
- IF Repository; Repository.description | html; END;
- INCLUDE 'inc/footer_feeds.tt2';
- %]
- <a title="git homepage" href="http://git-scm.org"><img src="[% c.uri_for('/logo.png') %]" alt="git" /></a>
+<div id="footer_holder">
+ <div id="footer" class="sub_holder">
+
+ <p>[% IF Repository; Repository.description | html; 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 id="feeds">
+ [% INCLUDE 'inc/footer_feeds.tt2' %]
+ </div>
</div>
+
</div>
+<div id="debug_holder">
+ <div id="debug" class="sub_holder">
-+[% USE Dumper %]
-+<pre>
-[% Repository.path %]
-+[% Dumper.dump(c.req.action) %]
-+</pre>
+ <p>Debug:</p>
+
+ [% USE Dumper %]
+ <pre>
+ [% Repository.path %]
+ [% Dumper.dump(c.req.action) %]
+ </pre>
+
+ </div>
+</div>
</body>
</html>