Difference between revision 7 and current revision
Summary: Rollback to 2008-09-05 00:16 UTC
No diff available.Beim Erstellen einer HTML Seite im XEmacs wird, wenn der psgml-mode und der hm--html-helper-mode (als minor mode) verwendet werden, was Standard ist, gleich beim Öffnen einer neuen HTML-Datei ein Template eingesetzt, das unter anderem folgende Zeilen enthält:
<!-- Created: Wed Jan 5 13:38:01 CET 2000 -->
<!-- hhmts start -->
<!-- hhmts end -->und nach dem ersten Abspeichern steht dort:
<!-- Created: Wed Jan 5 13:38:01 CET 2000 -->
<!-- hhmts start -->
Last modified: Sun May 7 12:16:25 MEST 2000
<!-- hhmts end -->
Die Autorin des Dokuments hat aber vielleicht andere Vorstellungen vom Format dieser Zeile, und das zu ändern ist nicht schwierig. Auf eine entsprechende Anfrage (und hartnäckiges Nachbohren
) von Ulrich Moser hin begab ich mich auf die Suche, und es folgt das Ergebnis.
1. Es wird hier das Ergebnis aller Funktionen eingesetzt, die in der Variable html-helper-timestamp-hook stehen. Voreinstellung ist dabei html-helper-default-insert-timestamp, aber das lässt sich ja ändern:
(setq html-helper-timestamp-hook
'(lambda ()
;; Mein Timestamp (von StefanKamphausen)
(ska-insert-custom-html-timestamp)))
2. Jetzt brauchen wir noch diese Funktion:
(defun ska-insert-custom-html-timestamp ()
"Insert a customized time-stamp in HTML documents."
;; text
(insert "Letzte &Auml;nderung: "
;; format
(format-time-string "%d.%m.%y")
"\n"))
Über local-write-file-hooks lassen sich auch in beliebigen anderen Modi time-stamps einfügen. Das folgende Beispiel zeigt, wie man im nxml-Modus einen Zeitstempel in eine XML-Datei schreibt:
;; update date comment between "<!-- ts start -->" and
;; "<!-- ts stop -->" if file is written
(add-hook 'nxml-mode-hook
'(lambda ()
(add-hook
'local-write-file-hooks
'(lambda ()
(save-excursion
(beginning-of-buffer)
(if (re-search-forward
"<!-- ts start -->\\(.*\\)<!-- ts stop -->" nil t)
(replace-match
(format-time-string "%Y-%m-%d")
nil nil nil 1)))))))