##// END OF EJS Templates
hgweb: use "nonempty" filter in templates for the changelog message...
hgweb: use "nonempty" filter in templates for the changelog message At least subversion allows empty commit logs which, after conversion, show up as empty fields in hgweb and don't allow selecting the changeset. Using "nonempty" as filter, "(none)" is used to get clickable links for empty commit messages.

File last commit:

r8235:89bc3946 default
r8235:89bc3946 default
Show More
graph.tmpl
134 lines | 3.9 KiB | application/x-cheetah | CheetahLexer
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 {header}
<title>{repo|escape}: revision graph</title>
<link rel="alternate" type="application/atom+xml"
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 href="{url}atom-log" title="Atom feed for {repo|escape}: log" />
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 <link rel="alternate" type="application/rss+xml"
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 href="{url}rss-log" title="RSS feed for {repo|escape}: log" />
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="http://www.selenic.com/mercurial/">
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 </div>
<ul>
<li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
<li class="active">graph</li>
<li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
</ul>
<ul>
<li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
<li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
</ul>
</div>
<div class="main">
<h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
<h3>graph</h3>
<form class="search" action="{url}log">
{sessionvars%hiddenformentry}
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 <p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 </form>
<div class="navigate">
<a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
<a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
| rev {rev}: {changenav%navgraphentry}
</div>
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411
<div id="wrapper">
<ul id="nodebgs"></ul>
<canvas id="graph" width="224" height="{canvasheight}"></canvas>
<ul id="graphnodes"></ul>
</div>
<script type="text/javascript" src="{staticurl}graph.js"></script>
<script type="text/javascript">
<!-- hide script content
var data = {jsdata|json};
var graph = new Graph();
graph.scale({bg_height});
graph.edge = function(x0, y0, x1, y1, color) {
this.setColor(color, 0.0, 0.65);
this.ctx.beginPath();
this.ctx.moveTo(x0, y0);
this.ctx.lineTo(x1, y1);
this.ctx.stroke();
}
var revlink = '<li style="_STYLE"><span class="desc">';
revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
graph.vertex = function(x, y, color, parity, cur) {
this.ctx.beginPath();
color = this.setColor(color, 0.25, 0.75);
this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
this.ctx.fill();
var bg = '<li class="bg parity' + parity + '"></li>';
var left = (this.columns + 1) * this.bg_height;
var nstyle = 'padding-left: ' + left + 'px;';
var item = revlink.replace(/_STYLE/, nstyle);
item = item.replace(/_PARITY/, 'parity' + parity);
item = item.replace(/_NODEID/, cur[0]);
item = item.replace(/_NODEID/, cur[0]);
Rocco Rutte
hgweb: use "nonempty" filter in templates for the changelog message...
r8235 if (cur[3] != '')
item = item.replace(/_DESC/, cur[3]);
else
item = item.replace(/_DESC/, '(none)');
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 item = item.replace(/_USER/, cur[4]);
item = item.replace(/_DATE/, cur[5]);
var tagspan = '';
if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
tagspan = '<span class="logtags">';
if (cur[6][1]) {
tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
tagspan += cur[6][0] + '</span> ';
} else if (!cur[6][1] && cur[6][0] != 'default') {
tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
tagspan += cur[6][0] + '</span> ';
}
if (cur[7].length) {
for (var t in cur[7]) {
var tag = cur[7][t];
tagspan += '<span class="tag">' + tag + '</span> ';
}
}
tagspan += '</span>';
}
item = item.replace(/_TAGS/, tagspan);
return [bg, item];
}
graph.render(data);
// stop hiding script -->
</script>
<div class="navigate">
<a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
<a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
| rev {rev}: {changenav%navgraphentry}
</div>
</div>
</div>
{footer}