mercurial/templates/monoblue/graph.tmpl
author Anton Shestakov <av6@dwimlabs.net>
Fri, 15 Dec 2017 12:15:58 +0800
changeset 35422 56854848e485
parent 35416 f84b01257e06
child 35534 acd8a2454b47
permissions -rw-r--r--
hgweb: stop using HTML comments in <script> Once upon a time, in 1995, there were browsers that didn't understand <script> tags and they would simply show the code inside as text. This started a tradition of wrapping everything inside <script> in <!-- HTML comments -->. Nowadays, it's not only not needed, but can be considered harmful[1]: - within XHTML documents, the source will actually be hidden from all browsers and rendered useless - `--` is not allowed within HTML comments, so any decrement operations in script are invalid [1]: http://www.javascripttoolbox.com/bestpractices/#comments
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8430
8b47efdf40ee monoblue: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8355
diff changeset
     1
{header}
8b47efdf40ee monoblue: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8355
diff changeset
     2
    <title>{repo|escape}: graph</title>
18526
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
     3
    <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
     4
    <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
     5
    <!--[if IE]><script type="text/javascript" src="{staticurl|urlescape}excanvas.js"></script><![endif]-->
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
     6
</head>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
     7
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
     8
<body>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
     9
<div id="container">
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    10
    <div class="page-header">
18258
bebb05a7e249 hgweb: add a "URL breadcrumb" to the index and repository pages
Angel Ezquerra <angel.ezquerra at gmail.com>
parents: 17580
diff changeset
    11
        <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / graph</h1>
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    12
32779
265196cd7d7f hgweb: consolidate search form for monoblue
Gregory Szorc <gregory.szorc@gmail.com>
parents: 30766
diff changeset
    13
        {searchform}
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    14
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    15
        <ul class="page-nav">
18526
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
    16
            <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
    17
            <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
    18
            <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    19
            <li class="current">graph</li>
18526
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
    20
            <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
    21
            <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
9409aeaafdc1 hgweb: urlescape all urls, HTML escape repo/tag/branch/... names
Thomas Arendsen Hein <thomas@intevation.de>
parents: 18258
diff changeset
    22
            <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
25604
0cdcbc477cac hgweb: don't dereference symbolic revision in monoblue style
Anton Shestakov <av6@dwimlabs.net>
parents: 24129
diff changeset
    23
            <li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a></li>
24129
3fc86f1c39d8 hgweb: don't mix tabs and spaces in monoblue templates
Anton Shestakov <engored@ya.ru>
parents: 20255
diff changeset
    24
            <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    25
        </ul>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    26
    </div>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    27
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    28
    <h2 class="no-link no-border">graph</h2>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    29
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    30
    <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    31
    <div id="wrapper">
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    32
        <ul id="nodebgs"></ul>
35414
27ab3150cd50 hgweb: calculate <canvas> width and height client-side
Anton Shestakov <av6@dwimlabs.net>
parents: 35264
diff changeset
    33
        <canvas id="graph"></canvas>
35230
75f9f366e5cc monoblue: render changesets server-side on /graph page
Anton Shestakov <av6@dwimlabs.net>
parents: 35181
diff changeset
    34
        <ul id="graphnodes">{nodes%graphentry}</ul>
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    35
    </div>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    36
30766
d7bf7d2bd5ab hgweb: support Content Security Policy
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27913
diff changeset
    37
    <script{if(nonce, ' nonce="{nonce}"')}>
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    38
    document.getElementById('noscript').style.display = 'none';
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    39
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    40
    var data = {jsdata|json};
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    41
    var graph = new Graph();
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    42
    graph.scale({bg_height});
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    43
35181
69a865dc2ada hgweb: define locally used variables as actually local in mercurial.js
Anton Shestakov <av6@dwimlabs.net>
parents: 32779
diff changeset
    44
    graph.vertex = function(x, y, radius, color, parity, cur) \{
35264
ad0de63e1d6a hgweb: move common vertex code to Graph.prototype
Anton Shestakov <av6@dwimlabs.net>
parents: 35230
diff changeset
    45
        Graph.prototype.vertex.apply(this, arguments);
ad0de63e1d6a hgweb: move common vertex code to Graph.prototype
Anton Shestakov <av6@dwimlabs.net>
parents: 35230
diff changeset
    46
        return ['<li class="bg parity' + parity + '"></li>', ''];
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    47
    }
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    48
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    49
    graph.render(data);
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    50
    </script>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    51
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    52
    <div class="page-path">
25604
0cdcbc477cac hgweb: don't dereference symbolic revision in monoblue style
Anton Shestakov <av6@dwimlabs.net>
parents: 24129
diff changeset
    53
        <a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a>
0cdcbc477cac hgweb: don't dereference symbolic revision in monoblue style
Anton Shestakov <av6@dwimlabs.net>
parents: 24129
diff changeset
    54
        <a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a>
10254
8d5de52431f2 hgweb: changenav: separate pages before and after the current position
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 9999
diff changeset
    55
        | {changenav%navgraph}
7111
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    56
    </div>
91b0ada2d94b added monoblue hgweb theme
Hiroshi Funai <hfunai@gmail.com>
parents:
diff changeset
    57
30766
d7bf7d2bd5ab hgweb: support Content Security Policy
Gregory Szorc <gregory.szorc@gmail.com>
parents: 27913
diff changeset
    58
    <script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}>
20255
b1d65cb8c759 hgweb: infinite scroll support for monoblue style
Takumi IINO <trot.thunder@gmail.com>
parents: 18526
diff changeset
    59
    ajaxScrollInit(
35416
f84b01257e06 hgweb: render next pages on /graph incrementally
Anton Shestakov <av6@dwimlabs.net>
parents: 35414
diff changeset
    60
            '{url|urlescape}graph/%next%{graphvars%urlparameter}',
f84b01257e06 hgweb: render next pages on /graph incrementally
Anton Shestakov <av6@dwimlabs.net>
parents: 35414
diff changeset
    61
            '{nextentry%"{node}"}', <!-- NEXTHASH
f84b01257e06 hgweb: render next pages on /graph incrementally
Anton Shestakov <av6@dwimlabs.net>
parents: 35414
diff changeset
    62
            function (htmlText, previousVal) \{
f84b01257e06 hgweb: render next pages on /graph incrementally
Anton Shestakov <av6@dwimlabs.net>
parents: 35414
diff changeset
    63
                var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/);
f84b01257e06 hgweb: render next pages on /graph incrementally
Anton Shestakov <av6@dwimlabs.net>
parents: 35414
diff changeset
    64
                return m ? m[1] : null;
f84b01257e06 hgweb: render next pages on /graph incrementally
Anton Shestakov <av6@dwimlabs.net>
parents: 35414
diff changeset
    65
            },
20255
b1d65cb8c759 hgweb: infinite scroll support for monoblue style
Takumi IINO <trot.thunder@gmail.com>
parents: 18526
diff changeset
    66
            '#wrapper',
b1d65cb8c759 hgweb: infinite scroll support for monoblue style
Takumi IINO <trot.thunder@gmail.com>
parents: 18526
diff changeset
    67
            '<div class="%class%" style="text-align: center;">%text%</div>',
b1d65cb8c759 hgweb: infinite scroll support for monoblue style
Takumi IINO <trot.thunder@gmail.com>
parents: 18526
diff changeset
    68
            'graph'
b1d65cb8c759 hgweb: infinite scroll support for monoblue style
Takumi IINO <trot.thunder@gmail.com>
parents: 18526
diff changeset
    69
    );
b1d65cb8c759 hgweb: infinite scroll support for monoblue style
Takumi IINO <trot.thunder@gmail.com>
parents: 18526
diff changeset
    70
    </script>
b1d65cb8c759 hgweb: infinite scroll support for monoblue style
Takumi IINO <trot.thunder@gmail.com>
parents: 18526
diff changeset
    71
8430
8b47efdf40ee monoblue: use newer template syntax everywhere
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents: 8355
diff changeset
    72
{footer}