~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to loggerhead/templates/annotate.pt

MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
<html xmlns="http://www.w3.org/1999/xhtml" metal:use-macro="macros/main">
4
4
  <head>
5
5
    <title metal:fill-slot="title"
6
 
           tal:content="string:${branch/friendly_name} : contents of ${file_path}
 
6
           tal:content="string:${branch/friendly_name} : contents of ${path}
7
7
                        at revision ${change/revno}">
 
8
      ${branch.friendly_name} : contents of ${path} at revision ${change.revno}
8
9
    </title>
9
 
    <metal:block fill-slot="header_extras">
10
 
        <link rel="stylesheet" type="text/css" media="all"
11
 
              tal:attributes="href python:branch.static_url('/static/css/view.css')"/>
12
 
        <link rel="stylesheet" type="text/css" media="all"
13
 
              tal:attributes="href python:branch.static_url('/static/css/highlight.css')"/>
14
 
    </metal:block>
15
10
  </head>
16
11
 
17
12
  <body>
18
 
      <tal:block metal:fill-slot="backlink">
19
 
          <tal:has-link condition="branch/branch_link">
20
 
            <div class="black-link">
21
 
                <a tal:attributes="href branch/branch_link">
22
 
                  &#8592; Back to branch summary
23
 
                </a>
24
 
            </div>
25
 
          </tal:has-link>
26
 
      </tal:block>
27
 
      <tal:block metal:fill-slot="branchname" tal:content="string:${branch/friendly_name}" />
28
 
          <tal:block metal:fill-slot="heading">
29
 
          <div id="breadcrumbs">
30
 
          <tal:has-link condition="branch/branch_link">
31
 
            <a tal:attributes="href branch/branch_link"
32
 
               tal:content="branch/friendly_name">
33
 
              nice/branch/name
34
 
            </a>
35
 
          </tal:has-link>
36
 
          <tal:no-link condition="not: branch/branch_link">
37
 
            <span metal:use-macro="breadcrumbs/directory"></span>
38
 
          </tal:no-link>
39
 
          <span>: <span metal:use-macro="breadcrumbs/branch" /> (revision <tal:revno content="change/revno"></tal:revno>)</span>
40
 
        </div>
41
 
      </tal:block>
 
13
 
 
14
    <h1 metal:fill-slot="heading">
 
15
      <span class="branch-name" tal:content="branch/friendly_name">
 
16
        ${branch.friendly_name}
 
17
      </span>
 
18
      :
 
19
      <span class="annotate-path" tal:content="path">
 
20
        ${path}
 
21
      </span>
 
22
      (revision <tal:revno content="change/revno">${change.revno}</tal:revno>)
 
23
    </h1>
42
24
 
43
25
    <div metal:fill-slot="content">
44
 
      <tal:branch-info replace="structure python:branchinfo(branch)" />
45
 
 
46
 
        <ul id="submenuTabs">
47
 
            <li id="first">
48
 
                <a tal:attributes="href python:url(['/files', change.revno], clear=1)">browse files</a>
49
 
            </li>
50
 
            <li tal:condition="not:annotated">
51
 
              <a tal:attributes="href python:url(['/annotate', revno_url, file_path], clear=1)"
52
 
              >view with revision information</a>
53
 
            </li>
54
 
            <li tal:condition="annotated">
55
 
              <a tal:attributes="href python:url(['/view', revno_url, file_path], clear=1)"
56
 
              >view without revision information</a>
57
 
            </li>
58
 
            <li>
59
 
                <a tal:attributes="href python:url(['/revision', change.revno], clear=1)">view revision</a>
60
 
            </li>
61
 
            <li>
62
 
                <a tal:attributes="href python:url(['/changes'], clear=1, filter_file_id=file_id)"
63
 
                >view changes to this file</a>
64
 
            </li>
65
 
            <li id="last">
66
 
                <a tal:attributes="href python:url(['/download',
67
 
                                    revno_url, file_id, filename])"
68
 
                >download file</a>
69
 
            </li>
70
 
        </ul>
71
 
 
72
 
      <div class="view">
73
 
        <table id="logentries">
74
 
          <tal:rep tal:repeat="line contents">
75
 
            <tr>
76
 
              <td tal:condition="python:path('repeat/line/number') in annotated"
77
 
                  tal:define="anno python:annotated.get(path('repeat/line/number'), None)"
78
 
                  tal:attributes="rowspan python:anno.revspan"
79
 
                  class="viewRev">
80
 
                <a tal:content="python:'%s' % (anno.change.revno,)"
81
 
                   tal:attributes="href python:url(['/revision', anno.change.revno], clear=1);
82
 
                                   title python:'%s by %s, on %s (%s)' % (anno.change.revno, ', '.join(util.hide_emails(anno.change.authors)), anno.change.date.strftime('%d %b %Y %H:%M'), util.date_time(anno.change.date))"></a>
83
 
                <span class="viewAuthors" tal:content="python:'by ' + ', '.join(util.hide_emails(anno.change.authors))" />
84
 
                <br />
85
 
 
86
 
                <span tal:content="python:anno.message"></span>
87
 
              </td>
88
 
              <td tal:attributes="class python:path('repeat/line/number') in annotated and 'viewLine first' or 'viewLine'">
89
 
                <a tal:attributes="id string:L${repeat/line/number}; href string:#L${repeat/line/number}"
90
 
                   tal:content="repeat/line/number">1</a>
91
 
              </td>
92
 
              <td class="viewCont"><pre tal:content="structure line"></pre></td>
93
 
            </tr>
94
 
          </tal:rep>
 
26
      <div class="links">
 
27
        <div>
 
28
          <b>&#8594;</b>
 
29
          <a tal:attributes="href python:url(['/files', revid])">
 
30
            browse files
 
31
          </a>
 
32
        </div>
 
33
        <div>
 
34
          <b>&#8594;</b>
 
35
          <a tal:attributes="href python:url(['/revision'], start_revid=revid)">
 
36
            view revision
 
37
          </a>
 
38
        </div>
 
39
        <div>
 
40
          <b>&#8594;</b>
 
41
          <a tal:attributes="href python:url(['/changes'], start_revid=revid, filter_file_id=file_id)">
 
42
            view changes to this file
 
43
          </a>
 
44
        </div>
 
45
        <div>
 
46
          <b>&#8594;</b>
 
47
          <a tal:attributes="href python:url(['/download', revid, file_id, filename])">
 
48
            download file
 
49
          </a>
 
50
        </div>
 
51
      </div>
 
52
 
 
53
      <div class="annotate">
 
54
        <table>
 
55
          <tr>
 
56
            <th class="lineno"> Line# </th>
 
57
            <th class="revision"> Revision </th>
 
58
            <th class="text"> Contents </th>
 
59
          </tr>
 
60
 
 
61
          <tr tal:repeat="line contents"
 
62
              tal:attributes="class string:parity${line/parity}">
 
63
            <td tal:attributes="class string:lineno ${line/status}">
 
64
              <a tal:attributes="name string:L${line/lineno}"
 
65
                 tal:content="line/lineno">
 
66
                ${line.lineno}
 
67
              </a>
 
68
            </td>
 
69
            <td tal:attributes="class string:revno ${line/status}">
 
70
              <a tal:condition="python:line.status=='changed'"
 
71
                 tal:content="python:util.trunc(line.change.revno)"
 
72
                 tal:attributes="href python:url(['/revision'], start_revid=line.change.revid, filter_file_id=file_id);
 
73
                                 title python:'%s by %s, on %s (%s)'%(line.change.revno, util.hide_email(line.change.author), line.change.date.strftime('%d %b %Y %H:%M'), util.date_time(line.change.date))">
 
74
 
 
75
                ${util.trunc(line.change.revno)}
 
76
              </a>
 
77
            </td>
 
78
            <td tal:attributes="class string:text ${line/status}"
 
79
                tal:content="line/text">
 
80
              ${line.text}
 
81
            </td>
 
82
          </tr>
95
83
        </table>
96
84
      </div>
97
85