Technik

Das Update time on edit-Plugin für Obsidian

Immer wieder ist es praktisch, wenn man von einer Datei das Erstellungsdatum und den Zeitpunkt der letzten Bearbeitung kennt. Natürlich kann man sich das in Obsidian manuell in der jeweiligen Datei notieren, oder in den Properties bzw. Metadaten in einem entsprechenden Eigenschaftsfeld eintragen. Das ist jedoch recht umständlich und ich neige dazu, das auch gerne zu vergessen. Zum Glück gibt es dafür das Update time on edit-Plugin, das diese Aufgabe gewissenhaft und völlig automatisch übernimmt.

Funktionsweise

Das Update time on edit-Plugin aktualisiert die Metadaten einer Datei in Obsidian mit dem Zeitpunkt, zu dem sie erstellt und zuletzt aktualisiert wurde. Dazu liest die externe Erweiterung die Zeitstempel ctime für den Erstellungszeitpunkt und mtime für den Zeitpunkt der letzten Aktualisierung aus dem Dateisystem aus und fügt diese in den Metadaten im sogenannten Front matter ein.

Update time on edit erledigt seine Aufgabe automatisch

Das Plugin verrichtet seine Tätigkeit komplett automatisch mit einem leichten Zeitversatz. Dieser Zeitversatz kann zwar in den Einstellungen (siehe unten) definiert werden, resultiert aber auch aus dem Speichervorgang selbst. Zudem kann es dabei mitunter vorkommen, dass man einen Hinweis von Obsidian in einem kleinen schwarzen Fenster in der rechten oberen Ecke bekommt, in dem erwähnt wird, dass die gerade geöffnete Datei im Hintergrund extern bearbeitet bzw. geändert wurde. Die Ursache ist dann in der Regel das Update time on edit-Plugin, das gerade wieder einen Zeitstempel aktualisiert hat.

Einstellungen

Die Einstellungen sind relativ umfangreich. In den Global settings lassen sich zunächst Ordner im Obsidian-Vault definieren, in denen die externe Erweiterung nicht tätig werden soll. Der Vorlagen-Ordner ist in meinem Vault so ein Ort, an dem ich keine Zeitstempel in den Dateien benötige. Mit der Option Minimum number of minutes between update kann man den bereits erwähnten Zeitversatz für das Aktualisieren der Zeitstempel einstellen. Bei Date format legt man das Format für den Zeitstempel fest.

Grundsätzlich funktioniert das Plugin für alle Dateien, die man neu anlegt, sowie für Dateien, die schon vor der Installation des Plugins vorhanden waren und die nun erneut bearbeitet werden. Möchte man in allen Dateien im gesamten Obsidian-Vault auf einmal die Zeitstempel eintragen, kann man das mit einem Klick auf die Schaltfläche Update all files erledigen. Es klingt zwar verlockend, aber diese Funktion habe ich bis dato dennoch nicht ausprobiert.

Einstellungen für das Update time on edit-Plugin

Im Abschnitt Updated at kann man festlegen, unter welcher Eigenschaft in den Properties der Datei bzw. im Front matter der Zeitstempel für die letzte Aktualisierung einer Datei eingefügt werden soll. Es handelt sich dabei lediglich um ein Feld für den Namen bzw. die Bezeichnung der Eigenschaft.

Selbiges lässt sich im Abschnitt Created at für den Zeitstempel der Erstellung einer Datei definieren. Zuvor muss man allerdings das Einfügen bzw. Aktualisieren des Erstellungszeitpunktes mit Enable the created front matter key update aktivieren. Vom Einfügen des Erstellungszeitpunktes kann man mit der Option Folder(s) to exclude for updateing the created property zusätzlich zur obigen, generellen Einstellung Folder to exclude of all updates noch weitere Ordner ausschließen, allerdings nur was das Einfügen des Zeitstempels für den Erstellungszeitpunkt betrifft. Der Zeitstempel für die letzte Aktualisierung wird dann weiterhin vom Plugin automatisch eingefügt.

In den Experimental settings gibt es mit der Option Enable hash matcher die Möglichkeit, zu häufiges Aktualisieren der Zeitstempel zu unterbinden. Das kann beim Verwenden des hauseigenen Obsidian-Sync-Dienstes sinnvoll sein. Diese Funktion bzw. Einstellungsmöglichkeit habe ich allerdings nicht getestet, da ich Obsidian-Sync nicht nutze und stattdessen meinen Vault über die iCloud von Apple synchronisiere.

Fazit

Mit dem Update time on edit-Plugin schließt man eine Lücke, die es in Obsidian eigentlich gar nicht geben dürfte. Denn die Zeitstempel der letzten Aktualisierung einer Datei und jener vom Erstellungszeitpunkt sind durchaus interessante und relevante Informationen, die sich beispielsweise in Suchabfragen mit Dataview für die Sortierung oder zum Eingrenzen des Suchergebnisses nutzen lassen.

Die externe Erweiterung funktioniert zuverlässig am Desktop-Rechner und auf dem Smartphone. Bisher hatte ich damit nur einmal Probleme, als eine neue Catalyst-Version von Obsidian die processFrontMatter-API etwas durcheinander gebracht hatte, was innerhalb weniger Tage von Obsidian behoben wurde.

Das Plugin kann entweder bei GitHub oder direkt aus dem Verzeichnis der externen Erweiterungen in Obsidian heruntergeladen und installiert werden.