Work on the hgweb templates
Edouard Gomez
edouard.gomez at gmail.com
Tue Jun 28 21:15:14 UTC 2005
Hello,
I post to you this email directly because i unsubscribed the hg ML due
to its increasing traffic... reading that ML was sucking too much time
from me at work :-) In case the ML is still opened to unsubscribed
emails, i cc this to the ML as well.
As i'm a total newbie in Python language, i am having hard time
understanding hg code. But... i'm use to develop webapps in J2EE so i
know html a bit more :-) so i started looking at the templates, and
realized they are not w3c compliant for most of them, and the markup
doesn't really translate the semantic of the data...
So my humble contribution could be template improvements...
This is a start and i prefer having first your opinion before continuing
(don't look at the colors for now, they will be worked later when the
markup is fixed everywhere). I worked the changelog, annotate and tags
view.
Summary of changes:
- First step towards xhtml 1.0 transitional compliancy
- Fix xml entities generation in obfuscation code
- Markup cleanup in changelogentry
- First CSS revamp try for changelog
- Markup cleanup for tags view
- Better revision node markup and style
- Better font defaults and bg colors
- Handle 'name firstname <email at server>' correctly in annotate
- Markup cleanup for annotate
- Style polishing for annotate
I don't have any python powered server at hand, so i attached all
exported changesets from my hg branch.
Any comments appreciated before continuing or giving up :-)
--
Edouard Gomez
-------------- next part --------------
# HG changeset patch
# User Edouard Gomez <ed.gomez at free.fr>
# Node ID 9c94da579ff77fb73a8a767da79a7ba462146137
# Parent 7f3fc8fd427ea05971988a285beb2370ddb41294
First step to xhtml transitional validation
diff -r 7f3fc8fd427e -r 9c94da579ff7 templates/changelog.tmpl
--- a/templates/changelog.tmpl Tue Jun 28 11:08:47 2005
+++ b/templates/changelog.tmpl Tue Jun 28 11:52:41 2005
@@ -10,20 +10,24 @@
<h2>changelog for #repo|escape#</h2>
-<form>
-search:
-<input type="hidden" name="cmd" value="changelog">
-<input name="rev" type="text" width="30">
-navigate: <small>#changenav#</small><br/>
+<form action="#">
+<p>
+<label for="revinput1">search:</label>
+<input type="hidden" name="cmd" value="changelog" />
+<input id="revinput1" name="rev" type="text" size="30" maxlength="30" />
+navigate: <small>#changenav#</small>
+</p>
</form>
#entries#
-<form>
-search:
-<input type="hidden" name="cmd" value="changelog">
-<input name="rev" type="text" width="30">
-navigate: <small>#changenav#</small><br/>
+<form action="#">
+<p>
+<label for="revinput2">search:</label>
+<input type="hidden" name="cmd" value="changelog" />
+<input id="revinput2" name="rev" type="text" size="30" maxlength="30" />
+navigate: <small>#changenav#</small>
+</p>
</form>
#footer#
diff -r 7f3fc8fd427e -r 9c94da579ff7 templates/header.tmpl
--- a/templates/header.tmpl Tue Jun 28 11:08:47 2005
+++ b/templates/header.tmpl Tue Jun 28 11:52:41 2005
@@ -1,9 +1,14 @@
Content-type: text/html
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
+<?xml version="1.0" standalone='yes'?>
+<!DOCTYPE html PUBLIC
+ "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
+<!--
a { text-decoration:none; }
.parity0 { background-color: #dddddd; }
.parity1 { background-color: #eeeeee; }
@@ -24,5 +29,5 @@
color: white;
text-align: right;
}
-
+-->
</style>
-------------- next part --------------
# HG changeset patch
# User Edouard Gomez <ed.gomez at free.fr>
# Node ID 867e62137d27f9c4ced7243c6e127a77f0d11607
# Parent 9c94da579ff77fb73a8a767da79a7ba462146137
Generate correctly XML entities for obfuscated user
diff -r 9c94da579ff7 -r 867e62137d27 mercurial/hgweb.py
--- a/mercurial/hgweb.py Tue Jun 28 11:52:41 2005
+++ b/mercurial/hgweb.py Tue Jun 28 11:58:27 2005
@@ -43,7 +43,7 @@
return text.replace('\n', '<br/>\n')
def obfuscate(text):
- return ''.join([ '&#%d' % ord(c) for c in text ])
+ return ''.join([ '&#%d;' % ord(c) for c in text ])
def up(p):
if p[0] != "/": p = "/" + p
-------------- next part --------------
# HG changeset patch
# User Edouard Gomez <ed.gomez at free.fr>
# Node ID 9c1643f623859ee065fba8931dc23e1c365f482e
# Parent 867e62137d27f9c4ced7243c6e127a77f0d11607
Markup cleanup for changelog view
diff -r 867e62137d27 -r 9c1643f62385 templates/map
--- a/templates/map Tue Jun 28 11:58:27 2005
+++ b/templates/map Tue Jun 28 13:01:14 2005
@@ -21,7 +21,7 @@
difflineminus = "<span class="minusline">#line|escape#</span>"
difflineat = "<span class="atline">#line|escape#</span>"
diffline = "#line|escape#"
-changelogparent = "<tr><td align="right">parent: </td><td><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
+changelogparent = "<tr><th class="parent">parent:</th><td class="parent"><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
changesetparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
filerevparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=file;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
fileannotateparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=annotate;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
diff -r 867e62137d27 -r 9c1643f62385 templates/changelogentry.tmpl
--- a/templates/changelogentry.tmpl Tue Jun 28 11:58:27 2005
+++ b/templates/changelogentry.tmpl Tue Jun 28 13:01:14 2005
@@ -1,22 +1,24 @@
-<div class="parity#parity#">
-<table width="100%" cellpadding="0" cellspacing="0">
+<table class="changelogEntry parity#parity#">
<tr>
- <td align="right" width="15%"><b>#date|age# ago: </b></td>
- <td><b>#desc|firstline|escape#</b></td></tr>
+ <th class="age">#date|age# ago:</th>
+ <th class="description">#desc|firstline|escape#</th>
+</tr>
<tr>
- <td align="right">changeset #rev#: </td>
- <td><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>
+ <th class="revision">changeset #rev#:</th>
+ <td class="revision"><a href="?cmd=changeset;node=#node#">#node|short#</a></td>
+</tr>
#parent1#
#parent2#
<tr>
- <td align="right">author: </td>
- <td>#author|obfuscate#</td></tr>
+ <th class="author">author:</th>
+ <td class="author">#author|obfuscate#</td>
+</tr>
<tr>
- <td align="right">date: </td>
- <td>#date|date#</td></tr>
+ <th class="date">date:</th>
+ <td class="date">#date|date#</td>
+</tr>
<tr>
- <td align="right" valign="top"><a href="?cmd=manifest;manifest=#manifest#;path=/">files</a>: </td>
- <td>#files#</td></tr>
+ <th class="files"><a href="?cmd=manifest;manifest=#manifest#;path=/">files</a>:</th>
+ <td class="files">#files#</td>
+</tr>
</table>
-</div>
-
-------------- next part --------------
# HG changeset patch
# User Edouard Gomez <ed.gomez at free.fr>
# Node ID 12afda75230f4fda6cb99d255929254cf65c803d
# Parent 9c1643f623859ee065fba8931dc23e1c365f482e
First CSS style revamp for changelog view
diff -r 9c1643f62385 -r 12afda75230f templates/header.tmpl
--- a/templates/header.tmpl Tue Jun 28 13:01:14 2005
+++ b/templates/header.tmpl Tue Jun 28 13:01:53 2005
@@ -9,25 +9,39 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
+body { font-family: sans; font-size: 10pt; }
a { text-decoration:none; }
-.parity0 { background-color: #dddddd; }
-.parity1 { background-color: #eeeeee; }
-.lineno { width: 60px; color: #aaaaaa; font-size: smaller; }
+.parity0 { background-color: #f6f7b4; }
+.parity1 { background-color: #eae8d8; }
+.lineno { width: 60px; color: #aaa; font-size: smaller; }
.plusline { color: green; }
.minusline { color: red; }
.atline { color: purple; }
.annotate { font-size: smaller; text-align: right; padding-right: 1em; }
.buttons a {
- background-color: #666666;
+ background-color: #666;
padding: 2pt;
color: white;
font-family: sans;
font-weight: bold;
}
.metatag {
- background-color: #888888;
+ background-color: #888;
color: white;
text-align: right;
}
+
+.changelogEntry { width: 100%; border-bottom: solid 1px #000; }
+.changelogEntry th { text-align: right; font-weight: bold; }
+.changelogEntry th.age,
+.changelogEntry th.revision,
+.changelogEntry th.parent,
+.changelogEntry th.author,
+.changelogEntry th.date,
+.changelogEntry th.files { color: #555; width: 20ex; }
+.changelogEntry th.files { vertical-align: top; }
+.changelogEntry th.files a { color: #55f; }
+.changelogEntry th.description { text-align: left; }
+
-->
</style>
-------------- next part --------------
# HG changeset patch
# User ed.gomez at free.fr
# Node ID d1fb61f71a6b33cbbf3666910c53759d1fde68ab
# Parent f62d6675b517a764adff93c207d5f0dd050a3147
Markup cleanup for tags view
diff -r f62d6675b517 -r d1fb61f71a6b templates/map
--- a/templates/map Tue Jun 28 17:51:45 2005
+++ b/templates/map Tue Jun 28 18:05:43 2005
@@ -26,5 +26,5 @@
filerevparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=file;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
fileannotateparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=annotate;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
tags = tags.tmpl
-tagentry = "<div class="parity#parity#"><tt>#node#</tt> <a href="?cmd=changeset;node=#node#">#tag#</a><br /></div>"
+tagentry = "<li class="tagEntry parity#parity#"><span class="tagnode">#node#</span> <a class="tagname" href="?cmd=changeset;node=#node#">#tag#</a></li>"
diffblock = "<div class="parity#parity#">#lines#</div>"
diff -r f62d6675b517 -r d1fb61f71a6b templates/tags.tmpl
--- a/templates/tags.tmpl Tue Jun 28 17:51:45 2005
+++ b/templates/tags.tmpl Tue Jun 28 18:05:43 2005
@@ -10,6 +10,8 @@
<h2>tags:</h2>
+<ul class="tagList">
#entries#
+</ul>
#footer#
diff -r f62d6675b517 -r d1fb61f71a6b templates/header.tmpl
--- a/templates/header.tmpl Tue Jun 28 17:51:45 2005
+++ b/templates/header.tmpl Tue Jun 28 18:05:43 2005
@@ -43,5 +43,9 @@
.changelogEntry th.files a { color: #55f; }
.changelogEntry th.description { text-align: left; }
+.tagList { list-style: none; display: block; margin: 0; padding: 0;}
+.tagEntry { list-style: none; display: block; margin: 0; padding: 0 1em; }
+.tagEntry span.tagnode { font-family: monospace;}
+.tagEntry a.tagname { }
-->
</style>
-------------- next part --------------
# HG changeset patch
# User ed.gomez at free.fr
# Node ID 0421d16df757ee3239eadd2c12c45d9ffb839562
# Parent d1fb61f71a6b33cbbf3666910c53759d1fde68ab
Better revision node markup and style
diff -r d1fb61f71a6b -r 0421d16df757 templates/map
--- a/templates/map Tue Jun 28 18:05:43 2005
+++ b/templates/map Tue Jun 28 19:18:06 2005
@@ -21,10 +21,10 @@
difflineminus = "<span class="minusline">#line|escape#</span>"
difflineat = "<span class="atline">#line|escape#</span>"
diffline = "#line|escape#"
-changelogparent = "<tr><th class="parent">parent:</th><td class="parent"><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
+changelogparent = "<tr><th class="parent">parent:</th><td class="parent node"><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
changesetparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
filerevparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=file;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
fileannotateparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=annotate;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
tags = tags.tmpl
-tagentry = "<li class="tagEntry parity#parity#"><span class="tagnode">#node#</span> <a class="tagname" href="?cmd=changeset;node=#node#">#tag#</a></li>"
+tagentry = "<li class="tagEntry parity#parity#"><span class="node">#node#</span> <a class="tagname" href="?cmd=changeset;node=#node#">#tag#</a></li>"
diffblock = "<div class="parity#parity#">#lines#</div>"
diff -r d1fb61f71a6b -r 0421d16df757 templates/changelogentry.tmpl
--- a/templates/changelogentry.tmpl Tue Jun 28 18:05:43 2005
+++ b/templates/changelogentry.tmpl Tue Jun 28 19:18:06 2005
@@ -5,7 +5,7 @@
</tr>
<tr>
<th class="revision">changeset #rev#:</th>
- <td class="revision"><a href="?cmd=changeset;node=#node#">#node|short#</a></td>
+ <td class="revision node"><a href="?cmd=changeset;node=#node#">#node|short#</a></td>
</tr>
#parent1#
#parent2#
diff -r d1fb61f71a6b -r 0421d16df757 templates/header.tmpl
--- a/templates/header.tmpl Tue Jun 28 18:05:43 2005
+++ b/templates/header.tmpl Tue Jun 28 19:18:06 2005
@@ -31,6 +31,8 @@
text-align: right;
}
+.node { font-family: monospace; }
+
.changelogEntry { width: 100%; border-bottom: solid 1px #000; }
.changelogEntry th { text-align: right; font-weight: bold; }
.changelogEntry th.age,
@@ -45,7 +47,8 @@
.tagList { list-style: none; display: block; margin: 0; padding: 0;}
.tagEntry { list-style: none; display: block; margin: 0; padding: 0 1em; }
-.tagEntry span.tagnode { font-family: monospace;}
+.tagEntry span.node { }
.tagEntry a.tagname { }
+
-->
</style>
-------------- next part --------------
# HG changeset patch
# User ed.gomez at free.fr
# Node ID c5aba778638855a41318c14cc25b74545010be1e
# Parent 0421d16df757ee3239eadd2c12c45d9ffb839562
Better font defaults and bg colors
diff -r 0421d16df757 -r c5aba7786388 templates/header.tmpl
--- a/templates/header.tmpl Tue Jun 28 19:18:06 2005
+++ b/templates/header.tmpl Tue Jun 28 19:33:02 2005
@@ -9,9 +9,9 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
-body { font-family: sans; font-size: 10pt; }
+body { font-family: sans; font-size: 12px; }
a { text-decoration:none; }
-.parity0 { background-color: #f6f7b4; }
+.parity0 { background-color: #feffbd; }
.parity1 { background-color: #eae8d8; }
.lineno { width: 60px; color: #aaa; font-size: smaller; }
.plusline { color: green; }
-------------- next part --------------
# HG changeset patch
# User ed.gomez at free.fr
# Node ID a3ffa65f4480ffb0694f911ae34a3538230352d0
# Parent c5aba778638855a41318c14cc25b74545010be1e
Handle 'name firstname <email at server>' correctly in annotate
diff -r c5aba7786388 -r a3ffa65f4480 mercurial/commands.py
--- a/mercurial/commands.py Tue Jun 28 19:33:02 2005
+++ b/mercurial/commands.py Tue Jun 28 20:38:37 2005
@@ -232,6 +232,9 @@
f = name.find('@')
if f >= 0:
name = name[:f]
+ f = name.find('<')
+ if f >= 0:
+ name = name[f+1:]
bcache[rev] = name
return name
diff -r c5aba7786388 -r a3ffa65f4480 mercurial/hgweb.py
--- a/mercurial/hgweb.py Tue Jun 28 19:33:02 2005
+++ b/mercurial/hgweb.py Tue Jun 28 20:38:37 2005
@@ -432,6 +432,9 @@
f = name.find('@')
if f >= 0:
name = name[:f]
+ f = name.find('<')
+ if f >= 0:
+ name = name[f+1:]
bcache[r] = name
if last != cnode:
-------------- next part --------------
# HG changeset patch
# User ed.gomez at free.fr
# Node ID 14d8b00b645d528c9ddb5e701c036d3276a2d6c8
# Parent a3ffa65f4480ffb0694f911ae34a3538230352d0
Markup cleanup for annotate
I tried to cleanup the annotate markup, however, using pre the way
it was done before lead to double newline effects. So the fix consists
in removing the per line pre, and giving "white-space: pre" CSS attribute
to the fileline dump. However, IE doesn't handle this attribute well (read
not at all)
During this patch review, i noticed that file view uses a pre that encloses
the complete file dump... it seems this solution is quite w3c unfriendly as
the pre tag contains lot of markup. I think that one will be harder to fix
than annotate.
diff -r a3ffa65f4480 -r 14d8b00b645d templates/map
--- a/templates/map Tue Jun 28 20:38:37 2005
+++ b/templates/map Tue Jun 28 20:46:28 2005
@@ -16,7 +16,7 @@
filelog = filelog.tmpl
fileline = "<div class="parity#parity#"><span class="lineno">#linenumber# </span>#line|escape#</div>"
filelogentry = filelogentry.tmpl
-annotateline = "<tr class="parity#parity#"><td class="annotate"><a href="?cmd=changeset;node=#node#">#author|obfuscate#@#rev#</a></td><td><pre>#line|escape#</pre></td></tr>"
+annotateline = "<tr class="parity#parity#"><td class="annotation"><a href="?cmd=changeset;node=#node#">#author|obfuscate#@#rev#</a></td><td class="fileline">#line|escape#</td></tr>"
difflineplus = "<span class="plusline">#line|escape#</span>"
difflineminus = "<span class="minusline">#line|escape#</span>"
difflineat = "<span class="atline">#line|escape#</span>"
diff -r a3ffa65f4480 -r 14d8b00b645d templates/fileannotate.tmpl
--- a/templates/fileannotate.tmpl Tue Jun 28 20:38:37 2005
+++ b/templates/fileannotate.tmpl Tue Jun 28 20:46:28 2005
@@ -17,26 +17,29 @@
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
- <td><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>
+ <td><a href="?cmd=changeset;node=#node#">#node|short#</a></td>
+</tr>
#parent1#
#parent2#
<tr>
<td class="metatag">manifest:</td>
- <td><a href="?cmd=manifest;manifest=#manifest#;path=/">#manifest|short#</a></td></tr>
+ <td><a href="?cmd=manifest;manifest=#manifest#;path=/">#manifest|short#</a></td>
+</tr>
<tr>
<td class="metatag">author:</td>
- <td>#author|obfuscate#</td></tr>
+ <td>#author|obfuscate#</td>
+</tr>
<tr>
<td class="metatag">date:</td>
- <td>#date|date# (#date|age# ago)</td></tr>
+ <td>#date|date# (#date|age# ago)</td>
+</tr>
<tr>
<td class="metatag">permissions:</td>
- <td>#permissions|permissions#</td></tr>
+ <td>#permissions|permissions#</td>
+</tr>
</table>
-<br/>
-
-<table cellspacing="0" cellpadding="0">
+<table class="annotateDump">
#annotate#
</table>
diff -r a3ffa65f4480 -r 14d8b00b645d templates/header.tmpl
--- a/templates/header.tmpl Tue Jun 28 20:38:37 2005
+++ b/templates/header.tmpl Tue Jun 28 20:46:28 2005
@@ -17,7 +17,6 @@
.plusline { color: green; }
.minusline { color: red; }
.atline { color: purple; }
-.annotate { font-size: smaller; text-align: right; padding-right: 1em; }
.buttons a {
background-color: #666;
padding: 2pt;
@@ -50,5 +49,9 @@
.tagEntry span.node { }
.tagEntry a.tagname { }
+.annotateDump { width: 100%; border-collapse: collapse; padding: 0; }
+.annotateDump td, .annotateDump tr { margin: 0; padding: 0;}
+.annotateDump td.fileline { white-space: pre; padding: 0 0 0 0.5em; }
+.annotateDump td.annotation { text-align: right; padding: 0 0.5em 0 0;}
-->
</style>
-------------- next part --------------
# HG changeset patch
# User ed.gomez at free.fr
# Node ID dbda0635644d31e8e3a72f37056b532a1fba2f74
# Parent 14d8b00b645d528c9ddb5e701c036d3276a2d6c8
Style polishing for annotate
diff -r 14d8b00b645d -r dbda0635644d templates/map
--- a/templates/map Tue Jun 28 20:46:28 2005
+++ b/templates/map Tue Jun 28 20:57:13 2005
@@ -24,7 +24,7 @@
changelogparent = "<tr><th class="parent">parent:</th><td class="parent node"><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
changesetparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=changeset;node=#node#">#node|short#</a></td></tr>"
filerevparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=file;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
-fileannotateparent = "<tr><td class="metatag">parent:</td><td><a href="?cmd=annotate;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
+fileannotateparent = "<tr><td class="metatag">parent:</td><td class="node"><a href="?cmd=annotate;file=#file#;filenode=#node#">#node|short#</a></td></tr>"
tags = tags.tmpl
tagentry = "<li class="tagEntry parity#parity#"><span class="node">#node#</span> <a class="tagname" href="?cmd=changeset;node=#node#">#tag#</a></li>"
diffblock = "<div class="parity#parity#">#lines#</div>"
diff -r 14d8b00b645d -r dbda0635644d templates/fileannotate.tmpl
--- a/templates/fileannotate.tmpl Tue Jun 28 20:46:28 2005
+++ b/templates/fileannotate.tmpl Tue Jun 28 20:57:13 2005
@@ -17,13 +17,13 @@
<table>
<tr>
<td class="metatag">changeset #rev#:</td>
- <td><a href="?cmd=changeset;node=#node#">#node|short#</a></td>
+ <td class="node"><a href="?cmd=changeset;node=#node#">#node|short#</a></td>
</tr>
#parent1#
#parent2#
<tr>
<td class="metatag">manifest:</td>
- <td><a href="?cmd=manifest;manifest=#manifest#;path=/">#manifest|short#</a></td>
+ <td class="node"><a href="?cmd=manifest;manifest=#manifest#;path=/">#manifest|short#</a></td>
</tr>
<tr>
<td class="metatag">author:</td>
diff -r 14d8b00b645d -r dbda0635644d templates/header.tmpl
--- a/templates/header.tmpl Tue Jun 28 20:46:28 2005
+++ b/templates/header.tmpl Tue Jun 28 20:57:13 2005
@@ -21,7 +21,6 @@
background-color: #666;
padding: 2pt;
color: white;
- font-family: sans;
font-weight: bold;
}
.metatag {
@@ -44,14 +43,14 @@
.changelogEntry th.files a { color: #55f; }
.changelogEntry th.description { text-align: left; }
-.tagList { list-style: none; display: block; margin: 0; padding: 0;}
+.tagList { list-style: none; display: block; margin: 0; padding: 0; }
.tagEntry { list-style: none; display: block; margin: 0; padding: 0 1em; }
.tagEntry span.node { }
.tagEntry a.tagname { }
.annotateDump { width: 100%; border-collapse: collapse; padding: 0; }
-.annotateDump td, .annotateDump tr { margin: 0; padding: 0;}
-.annotateDump td.fileline { white-space: pre; padding: 0 0 0 0.5em; }
-.annotateDump td.annotation { text-align: right; padding: 0 0.5em 0 0;}
+.annotateDump td, .annotateDump tr { margin: 0; padding: 0; }
+.annotateDump td.fileline { white-space: pre; padding: 0 0 0 0.5em; font-family: monospace; }
+.annotateDump td.annotation { text-align: right; padding: 0 0.5em 0 0; }
-->
</style>
More information about the Mercurial
mailing list