Ich bewahre meine WML-Quellen in einem CVS-Repository auf, und da
liegt es natürlich nahe, die am Seitenfuß abgezeigten Änderungsdaten
der Seiten automatisch aus den commit-Daten von CVS zu erzeugen.
Dies hat den netten Nebeneffekt, dass sich das auf der Seite
angegebene Datum nur dann ändert, wenn es tatsächlich eine Änderung am
Inhalt der Seite gegeben hat.
Wenn die Seite nur neu erzeugt wurde, weil sich das Layout ein wenig
geändert hat oder weil ein neuer Menüeintrag bei der Navigationsleiste
hinzugekommen ist, bleibt das Datum, wie es war.
(Leute, die Skripte benutzen, um das Änderungsdatum automatisch zu
ändern, um Aktualität vorzutäuschen werden das natürlich für einen
Nachteil halten.)
Dazu habe ich ein Tag cvs-date
definiert:
<define-tag cvs-date>
<: $cvsdate='%attributes'; $cvsdate =~ s/\$Date:?\s*//;
$cvsdate =~ s|/|-|g; $cvsdate =~ s/ .*//;:>
</define-tag>
Am Anfang jeder Seite, gleich nachdem die Datei mit der Definition von
cvs-date
per #include
geladen worden ist,
steht ein Codeschnipsel der Form:
<cvs-date Orig: 1999-02-27 $Date: 2007-10-15 21:57:29 $>
und an der Stelle, an der das Datum auf der Seite erscheinen soll (bei
mir in einem danach geladenen Template), steht einfach nur
<:= $cvsdate :>
Das kann man natürlich leicht auf alle anderen CVS-Keywords übertragen.