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-----
#!/bin/bash
#
# This is an example of using HGEDITOR to automate the signing of
# commits and so on.
MANIFEST=`grep '^HG: manifest hash' $1 | cut -b 19-`
if grep -q "^HG: merge resolve" $1 ; then
# we don't sign merges
$EDITOR $1
else
T=`mktemp`
CHANGED=`grep '^HG: changed' $1 | cut -b 13-`
# show a diff so writing commit comments is easier
hg diff $CHANGED >> $T
echo -e "\n\nmanifest hash: $MANIFEST" > $1
emacs -nw $T $1
head -1 $1 > $T
echo >> $T
gpg -a -u $HGUSER -o - --clearsign $1 >> $T
mv $T $1
fi