[PATCH RFC] hgweb: code selection without line numbers in file diff and changesets views
Alexander Plavin
me at aplavin.ru
Sat Jul 6 06:52:04 CDT 2013
# HG changeset patch
# User Alexander Plavin <me at aplavin.ru>
# Date 1373107475 -14400
# Sat Jul 06 14:44:35 2013 +0400
# Node ID 3c184b9273fddb711944dc1f48e838c143786e43
# Parent 4a38d70d86dabc7b7976a0e599471ffadb4299ed
hgweb: code selection without line numbers in file diff and changesets views
All the source lines are put in a <pre> tag, as with file source view in
previous patches.
This is a request for commets, as I'm not sure that this exact implementation
way of e.g. nested CSS counters is best and looking for your advice.
Later I'm going to split this into several commits, and now waiting for
overall comments.
diff -r 4a38d70d86da -r 3c184b9273fd mercurial/templates/paper/changeset.tmpl
--- a/mercurial/templates/paper/changeset.tmpl Thu Jul 04 14:19:43 2013 +0400
+++ b/mercurial/templates/paper/changeset.tmpl Sat Jul 06 14:44:35 2013 +0400
@@ -77,10 +77,11 @@
</table>
<div class="overflow">
-<div class="sourcefirst"> line diff</div>
-
+<div class="sourcefirst"> line diff</div>
+<div class="stripes2 reset-lineno">
{diff}
</div>
+</div>
</div>
</div>
diff -r 4a38d70d86da -r 3c184b9273fd mercurial/templates/paper/filediff.tmpl
--- a/mercurial/templates/paper/filediff.tmpl Thu Jul 04 14:19:43 2013 +0400
+++ b/mercurial/templates/paper/filediff.tmpl Sat Jul 06 14:44:35 2013 +0400
@@ -68,11 +68,12 @@
</table>
<div class="overflow">
-<div class="sourcefirst"> line diff</div>
-
+<div class="sourcefirst"> line diff</div>
+<div class="stripes2 reset-lineno">
{diff}
</div>
</div>
</div>
+</div>
{footer}
diff -r 4a38d70d86da -r 3c184b9273fd mercurial/templates/paper/filerevision.tmpl
--- a/mercurial/templates/paper/filerevision.tmpl Thu Jul 04 14:19:43 2013 +0400
+++ b/mercurial/templates/paper/filerevision.tmpl Sat Jul 06 14:44:35 2013 +0400
@@ -68,7 +68,7 @@
<div class="overflow">
<div class="sourcefirst"> line source</div>
-<pre class="sourcelines">{text%fileline}</pre>
+<pre class="sourcelines stripes4">{text%fileline}</pre>
<div class="sourcelast"></div>
</div>
</div>
diff -r 4a38d70d86da -r 3c184b9273fd mercurial/templates/paper/map
--- a/mercurial/templates/paper/map Thu Jul 04 14:19:43 2013 +0400
+++ b/mercurial/templates/paper/map Sat Jul 06 14:44:35 2013 +0400
@@ -84,11 +84,15 @@
<td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
</tr>'
-diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></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}'
+diffblock = '<div class="bottomline inc-lineno"><pre class="sourcelines">{lines}</pre></div>'
+difflineplus = '
+ <span id="{lineid}" class="plusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
+difflineminus = '
+ <span id="{lineid}" class="minusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
+difflineat = '
+ <span id="{lineid}" class="atline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
+diffline = '
+ <span id="{lineid}">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>'
comparisonblock ='
<tbody class="block">
diff -r 4a38d70d86da -r 3c184b9273fd mercurial/templates/static/style-paper.css
--- a/mercurial/templates/static/style-paper.css Thu Jul 04 14:19:43 2013 +0400
+++ b/mercurial/templates/static/style-paper.css Sat Jul 06 14:44:35 2013 +0400
@@ -212,8 +212,12 @@
.sourcelines {
font-size: 90%;
position: relative;
+ counter-reset: lineno;
}
+.reset-lineno { counter-reset: lineno; }
+.inc-lineno { counter-increment: lineno; }
+
.sourcelines > span {
display: inline-block;
width: 100%;
@@ -234,11 +238,13 @@
font-size: smaller;
color: #999;
text-align: right;
- content: counter(lineno);
+ content: counters(lineno, ".");
}
-.sourcelines > span:nth-child(4n+1) { background-color: #f0f0f0; }
-.sourcelines > span:nth-child(4n+3) { background-color: white; }
+.stripes4 > :nth-child(4n+1) { background-color: #f0f0f0; }
+.stripes4 > :nth-child(4n+3) { background-color: white; }
+.stripes2 > :nth-child(odd) { background-color: #f0f0f0; }
+.stripes2 > :nth-child(even) { background-color: white; }
.sourcelines > span:target {
background-color: #ffff99;
More information about the Mercurial-devel
mailing list