hgweb: add template filters, template style maps, and raw pages
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hgweb: add template filters, template style maps, and raw pages
Template filters:
in templates, you can now specify a chain of filters like
#desc|firstline|escape#
#desc|escape|addbreaks#
#date|age#
to specify how you'd like raw text (or whatever) to be transformed.
Template style maps:
add ;style=foo to a URL and we'll use templates/map-foo if it exists.
Raw output:
Together, these two features make it east to implement raw
downloadable files and patches. Simply link to the same page with
style=raw and present the output as unfiltered text/plain with that
template.
manifest hash: 5954a648b3d6b4e6dc2dcd1975f96b4b0178da2a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCnUMyywK+sNU5EO8RAkKjAJ9h9JElSCbWBPUnL+koCSDxgo38AwCgrccM
0qwyKdh/fUNglICxSh3HBNA=
=Svlo
-----END PGP SIGNATURE-----
#header#
<title>#repo|escape#: #file# diff</title>
</head>
<body>
<div class="buttons">
<a href="?cmd=changelog;rev=#rev#">changelog</a>
<a href="?cmd=tags">tags</a>
<a href="?cmd=changeset;node=#node#">changeset</a>
<a href="?cmd=file;file=#file#;filenode=#filenode#">file</a>
<a href="?cmd=filelog;file=#file#;filenode=#filenode#">revisions</a>
<a href="?cmd=annotate;file=#file#;filenode=#filenode#">annotate</a>
<a href="?cmd=filediff;file=#file#;node=#node#;style=raw">raw</a>
</div>
<h2>#file#</h2>
<table>
<tr>
<td class="metatag">revision #rev#:</td>
<td><a href="?cmd=changeset;node=#node#">#node#</a></td></tr>
<tr>
<td class="metatag">parent #p1rev#:</td>
<td><a href="?cmd=changeset;node=#p1#">#p1#</a></td></tr>
</table>
<pre>
#diff#
</pre>
#footer#