hgweb (coal/paper): make file, diff and annotate easier to render

This patch removes tables altogether for file and diff, and removes
one column from annotate, making firefox's incremental renderer much
faster for large files.
This commit is contained in:
Brendan Cully 2008-11-20 18:15:50 -08:00
parent 5a88518d14
commit f7d4a5fc6b
8 changed files with 42 additions and 38 deletions

View File

@ -60,12 +60,8 @@ files, or words in the commit message</span>
</table>
<div class="overflow">
<table class="bigtable">
<tr>
<th class="lineno">line</th>
<th class="source">diff</th>
</tr>
</table>
<div class="sourcefirst"> line diff</div>
{diff}
</div>

View File

@ -67,8 +67,7 @@ files, or words in the commit message</span>
<table class="bigtable">
<tr>
<th class="annotate">rev</th>
<th class="lineno">line</th>
<th class="line">source</th>
<th class="line">&nbsp;&nbsp;line source</th>
</tr>
{annotate%annotateline}
</table>

View File

@ -61,12 +61,7 @@ files, or words in the commit message</span>
</table>
<div class="overflow">
<table class="bigtable">
<tr>
<th class="lineno">line</th>
<th class="source">diff</th>
</tr>
</table>
<div class="sourcefirst"> line diff</div>
{diff}
</div>

View File

@ -61,13 +61,9 @@ files, or words in the commit message</span>
</table>
<div class="overflow">
<table class="bigtable">
<tr>
<th class="lineno">line</th>
<th class="source">source</th>
</tr>
<div class="sourcefirst"> line source</div>
{text%fileline}
</table>
<div class="sourcelast"></div>
</div>
</div>
</div>

View File

@ -30,16 +30,16 @@ filerevision = filerevision.tmpl
fileannotate = fileannotate.tmpl
filediff = filediff.tmpl
filelog = filelog.tmpl
fileline = '<tr class="parity{parity}"><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
filelogentry = filelogentry.tmpl
annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td></tr>'
diffblock = '<table class="bigtable parity{parity}">{lines}</table>'
difflineplus = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source plusline">{line|escape}</td></tr>'
difflineminus = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source minusline">{line|escape}</td></tr>'
difflineat = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source atline">{line|escape}</td></tr>'
diffline = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
diffblock = '<div class="source bottomline parity{parity}">{lines}</div>'
difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
changelogparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'

View File

@ -30,16 +30,16 @@ filerevision = ../coal/filerevision.tmpl
fileannotate = ../coal/fileannotate.tmpl
filediff = ../coal/filediff.tmpl
filelog = ../coal/filelog.tmpl
fileline = '<tr class="parity{parity}"><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
filelogentry = ../coal/filelogentry.tmpl
annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td></tr>'
diffblock = '<table class="bigtable parity{parity}">{lines}</table>'
difflineplus = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source plusline">{line|escape}</td></tr>'
difflineminus = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source minusline">{line|escape}</td></tr>'
difflineat = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source atline">{line|escape}</td></tr>'
diffline = '<tr><td class="lineno"><a href="#{lineid}" id="{lineid}">{linenumber}</a></td><td class="source">{line|escape}</td></tr>'
diffblock = '<div class="source bottomline parity{parity}">{lines}</div>'
difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
changelogparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'

View File

@ -148,11 +148,21 @@ h3 {
.bigtable .node { width: 5em; font-family: monospace;}
.bigtable .lineno { width: 2em; text-align: right;}
.bigtable .lineno a { color: #999; font-size: smaller; font-family: monospace;}
.bigtable td.source { font-family: monospace; white-space: pre; }
.bigtable .permissions { width: 8em; text-align: left;}
.bigtable .size { width: 5em; text-align: right; }
.bigtable .annotate { text-align: right; }
.bigtable td.annotate { font-size: smaller; }
.bigtable td.source { font-size: inherit; }
.source, .sourcefirst, .sourcelast {
font-family: monospace;
white-space: pre;
font-size: 90%;
}
.sourcefirst { border-bottom: 1px solid #999; font-weight: bold; font-size: smaller; }
.sourcelast { border-top: 1px solid #999; }
.source a { color: #999; font-size: smaller; font-family: monospace;}
.bottomline { border-bottom: 1px solid #999; }
.fileline { font-family: monospace; }
.fileline img { border: 0; }

View File

@ -137,13 +137,21 @@ h3 {
.bigtable .author { width: 12em; }
.bigtable .description { }
.bigtable .node { width: 5em; font-family: monospace;}
.bigtable .lineno { width: 2em; text-align: right;}
.bigtable .lineno a { color: #999; font-size: smaller; font-family: monospace;}
.bigtable td.source { font-family: monospace; white-space: pre; }
.bigtable .permissions { width: 8em; text-align: left;}
.bigtable .size { width: 5em; text-align: right; }
.bigtable .annotate { text-align: right; }
.bigtable td.annotate { font-size: smaller; }
.bigtable td.source { font-size: inherit; }
.source, .sourcefirst, .sourcelast {
font-family: monospace;
white-space: pre;
font-size: 90%;
}
.sourcefirst { border-bottom: 1px solid #999; font-weight: bold; font-size: smaller; }
.sourcelast { border-top: 1px solid #999; }
.source a { color: #999; font-size: smaller; font-family: monospace;}
.bottomline { border-bottom: 1px solid #999; }
.fileline { font-family: monospace; }
.fileline img { border: 0; }