Technik
Schreibe einen Kommentar

Siri-Kurzbefehl: Tägliche Notiz in Obsidian

Die tägliche Notiz in Obsidian ist ein wesentliches Instrument zur Planung und Bewältigung meiner täglichen Arbeit. Im Zuge der Abendroutine erfolgt die Planung des nächsten Tages und zu diesem Zweck wird dafür eine neue tägliche Notiz angelegt. Damit das nicht manuell erledigt werden muss, nutze ich dafür einen Siri-Kurzbefehl, der die tägliche Notiz nach meinen Vorgaben anlegt und neben einigen Routinen und täglichen Aufgaben auch gleich die für den jeweiligen Tag im Kalender geplanten Ereignisse einträgt.

Vorab sei darauf hingewiesen, dass der Kurzbefehl für Obsidian mit iCloud-Sync entwickelt und getestet wurde. Es ist davon auszugehen, dass er auch funktioniert, wenn Obsidian rein lokal auf einem Mac oder einem iPad bzw. iPhone verwendet wird. Es gibt allerdings keinerlei Erfahrungen, ob der Kurzbefehl auch genutzt werden kann, wenn man Obsidian-Sync oder ein anderes Service zum Synchronisieren des eigenen Vaults nutzt. Der Kurzbefehl funktioniert sowohl unter macOS, als auch mit i(Pad)OS. Spezielle Erweiterungen oder Plugins sind nicht notwendig, weder in Obsidian, noch für die Kurzbefehle-App. Es ist jedoch empfehlenswert, die in Obsidian bereits integrierte Erweiterung für die tägliche Notiz in den Einstellungen zu aktivieren und mit den grundlegenden Vorgaben für Dateinamen und Ordnerstruktur zu definieren, wie im nachstehenden Screenshot dargestellt:

Einstellungen in der Obsidian-Erweiterung für die tägliche Notiz

Funktionsumfang & Ablauf

Sobald man den Kurzbefehl startet, erscheint ein Dialog, in dem man in einem Monatskalender das Datum für den Tag auswählt, für den eine tägliche Notiz erstellt werden soll. Danach prüft der Kurzbefehl, ob für den gewählten Tag bereits eine tägliche Notiz vorhanden ist. Wenn das der Fall sein sollte, fragt der Kurzbefehl, ob er in die bereits bestehende tägliche Notiz nochmals die Ereignisse aus dem Kalender eintragen soll. Und falls noch keine tägliche Notiz für den ausgewählten Tag angelegt wurde, erledigt das der Kurzbefehl und trägt auch gleich die Ereignisse aus dem Kalender dort in den Tagesplan mit ein.

Ablaufschema des Kurzbefehls Tägliche Notiz

Die täglichen Notizen werden in meinem Obsidian-Vault im Ordner Logbuch und innerhalb dieses Ordners in Unterordnern für das jeweilige Jahr gespeichert. Der Dateiname der täglichen Notiz besteht immer aus dem jeweiligen Datum in verkehrter Schreibweise, also yyyy-MM-dd.md. Die tägliche Notiz für den 27. August 2024 trägt also den Dateinamen 2024-08-27.md und ist im Ordner Logbuch/2024 gespeichert.

Beispiel für eine tägliche Notiz in Obsidian

Kurzbefehl im Detail

Der Kurzbefehl ist relativ umfangreich und wurde daher in mehrere Abschnitte gegliedert, die nachstehend erläutert werden:

Datumsauswahl & Formatierungen

Los geht’s mit der Auswahl des Datums für den Tag, für den eine tägliche Notiz angelegt werden soll und einigen Formatierungen dieses Datums. Für diese Auswahl nutzt der Kurzbefehl die Standardfunktion von macOS bzw. i(Pad)OS über eine Monatsansicht.

Dialog für die Auswahl des Datums unter macOS

Das ausgewählte Datum wird anschließend im Format dd.MM.yy formatiert und in der gleichnamigen Variable Datum gespeichert. Diese Formatierung ist wichtig, damit anschließend der Beginn- und Endzeitpunkt des jeweiligen Tages eingestellt werden kann. Diese Definition der beiden Variablen Start und Ende sind notwendig, damit etwas später die Kalenderereignisse aus dem sich dazwischen ergebenden Zeitraum korrekt abgefragt werden können.
Anschließend werden aus dem ausgewählten Datum über entsprechende Formatierungen das jeweilige Jahr in der Variable Jahr und der Dateiname für die tägliche Notiz in der Variable Datei gespeichert.

Kurbefehl-Quellcode, Teil 1: Auswahl des Datums und Formatierungen

Navigationsberechnungen

In der täglichen Notiz gibt es direkt unter dem Datum drei Links zur Navigation. Zum einen kann man dort zur täglichen Notiz des vorherigen und des nächsten Tages gelangen und zum anderen auch die täglichen Notizen aus den vorangegangenen Jahren einsehen. Zu diesem Zweck sind drei Berechnungen erforderlich, die jeweils ausgehend von der zuvor gespeicherten Variable Datum durchgeführt werden. Die Kurzbefehle-App stellt dafür die notwendigen Funktionen zur Verfügung, sodass mit einer einfachen Subtraktion bzw. Addition von jeweils einem Tag bzw. einem Jahr diese drei Werte berechnet und in den Variablen Gestern, Morgen und vJahr für das vergangene Jahr gespeichert werden. Zugleich wird beim Festlegen der Variablen das jeweilige Ergebnis im vorhin erwähnten Format für den Dateinamen der täglichen Notiz yyyy-MM-dd formatiert, damit es direkt als Link in Obsidian genutzt werden kann. Diese drei Variablen werden dann ganz am Ende des Kurzbefehls in die neue tägliche Notiz an den entsprechenden Stellen eingefügt.

Kurzbefehl-Quellcode, Teil 2: Navigationsberechnungen

Tägliche Notiz bereits vorhanden

Nachdem nun alle datumsrelevanten Berechnungen erledigt sind, gilt es im nächsten Schritt zu überprüfen, ob eine tägliche Notiz für den ausgewählten Tag eventuell bereits vorhanden ist. Dazu wird jenes Verzeichnis im Vault durchsucht, in dem die täglichen Notizen abgelegt sind. In meinem Fall trägt dieses Verzeichnis – wie oben erwähnt – die Bezeichnung Logbuch. Innerhalb dieses Ordners gibt es Unterordner für jedes Jahr. Daher wird in der Kurzbefehlsfunktion Datei aus Ordner laden der entsprechende Pfad angegeben. Dazu nutze ich die zuvor angelegte Variable Jahr und danach den in der Variable Datei gespeicherten Dateinamen der täglichen Notiz. Die Option Fehler, falls Datei nicht gefunden wird bleibt deaktiviert (versteckt sich hinter Mehr anzeigen), denn in diesem Fall soll der Kurzbefehl ohne weitere Verzögerung oder Interaktion gleich eine neue tägliche Notiz anlegen.

Falls die tägliche Notiz bereits vorhanden ist, wird man nun darauf hingewiesen und gefragt, ob man die Termine und Ereignisse aus dem Kalender erneut in der täglichen Notiz einfügen möchte. Das ist beispielsweise dann sinnvoll, wenn sich seit dem ersten Anlegen der täglichen Notiz Termine oder Ereignisse geändert haben, oder dazugekommen bzw. entfallen sind.

Kurzbefehl-Quellcode, Teil 3: Falls die tägliche Notiz bereits vorhanden ist

Klickt man in diesem Dialog auf OK, dann beginnt der Kurzbefehl in der Kalender-App von Apple nach den Kalenderereignissen für das ausgewählte Datum zu suchen. Dazu werden nun die beiden Variablen Start und Ende benötigt, um den zeitlichen Bereich entsprechend einzugrenzen. Anschließend zählt der Kurzbefehl die gefundenen Kalenderereignisse. Sofern die Anzahl der Treffer Null ist, wird der Text Es gibt heute keine geplanten Ereignisse in die tägliche Notiz eingetragen. Anderenfalls erstellt der Kurzbefehl eine Liste der gefundenen Kalenderereignisse. Dazu wird zunächst mit der Wiederholen-Funktion jedes gefundene Kalenderereignis in der Schreibweise - Startdatum - Enddatum: Bezeichnung (@ Ort) formatiert. Danach wird die Liste mit der Kurzbefehlsfunktion Text kombinieren aus den Wiederholungsergebnissen erstellt und in der Variable Ereignisse gespeichert.

Kalenderereignisse in vorhandene tägliche Notiz einfügen

An jener Stelle in der täglichen Notiz, an der die Kalenderereignisse eingefügt werden sollen, wurde ein Platzhalter als auskommentierter Text angelegt. Das Format dieses Platzhalters ist %%Ereignisse%%, wobei die doppelten Prozentzeichen in der Markdown-Syntax das Symbol für einen auskommentierten und somit in der Leseansicht unsichtbaren Text sind. Diese Platzhalter sind daher nur im Editiermodus bzw. in der Quellcode-Ansicht sichtbar.

Platzhalter für Kalenderereignisse ist im Editiermodus sichtbar

Der Kurzbefehl sucht also nun über die Funktion Text ersetzen nach dem vorgenannten Platzhalter in der gefundenen Datei mit der täglichen Notiz und ersetzt diesen Platzhalter durch die Liste der Kalenderereignisse, die in der Variable Ereignisse gespeichert sind. Selbstverständlich beinhaltet diese Liste auch wieder den Platzhalter, falls der Kurzbefehl nochmals ausgeführt wird und eine neue Liste der Kalenderereignisse eingefügt werden soll. In den Details zur Funktion Text ersetzen sollte die Option Groß-/Kleinschreibung beachten aktiviert sein.

Kurzbefehl-Quellcode, Teil 4: Kalenderereignisse in vorhandene tägliche Notiz einfügen

Anschließend wird der aktualisierte Text der täglichen Notiz in der entsprechenden Datei gespeichert bzw. diese damit überschrieben. Dazu nutzt man zunächst die etwas eigenartig bezeichnete Kurzbefehlsfunktion Namen konfigurieren, um damit den aktualisierten Text auf den Dateinamen der täglichen Notiz einzustellen und danach die Funktion Datei sichern für das eigentliche Speichern bzw. Überschreiben. Zum Abschluss soll der Kurzbefehl mit der Funktion Kurzbefehl stoppen an dieser Stelle beendet werden.

Neue tägliche Notiz anlegen

Sofern noch keine tägliche Notiz für das ausgewählte Datum existiert, legt der Kurzbefehl eine ebensolche neu an. Dazu werden – wie zuvor auch schon – zunächst die Termine und Ereignisse aus dem Kalender in eine Liste im Markdownformat gespeichert.

Kurzbefehl-Quellcode, Teil 5: Kalenderereignisse für neue tägliche Notiz sammeln

Anschließend wird aus einer Vorlage die neue tägliche Notiz mit der Text-Funktion erzeugt. In meinem Fall werden in den ersten vier Zeilen zunächst die Properties als YAML-Header angelegt und gleich danach folgt die Überschrift in Form des jeweils aktuellen Datums im Format EEEE, d. MMMM yyyy, also beispielsweise Dienstag, 27. August 2024.

Darunter folgt der Navigationsbereich, in dem zunächst die täglichen Notizen des vorangegangenen und des nachfolgenden Tages verlinkt sind. Diese Links werden aus den Variablen Gestern und Morgen in der dafür typischen Schreibweise mit doppelten eckigen Klammern erzeugt. In der nächsten Zeile kann über den Link, der mit der Variable vJahr erzeugt wird, zur täglichen Notiz vor genau einem Jahr navigiert werden. Dort ist dann wiederum auch jeweils ein solcher Link und man kann somit eine Zeitreise durch die täglichen Notizen der letzten Jahre unternehmen.

Der nächste Abschnitt umfasst den Tagesplan. Dort werden zuoberst die Termine und Ereignisse aus dem Kalender eingefügt. Danach folgen bereits ein paar routinemäßige Aufgaben, die es gilt, an jedem Tag zu erledigen. Neue Aufgaben können dort ebenfalls unterhalb des Platzhalters %%neueAufgabe%% hinzugefügt werden. Entweder direkt mit einem anderen Kurzbefehl zum Erfassen neuer Aufgaben oder manuell aus der Aufgabenliste.

Der zweite Abschnitt ist für die eigentlichen täglichen Notizen bzw. Logbucheinträge vorgesehen. Auch die werden mit einem anderen Kurzbefehl zum Erfassen neuer Notizen an der Stelle des dafür vorgesehenen Platzhalters %%neueNotiz%% eingefügt. Natürlich kann das auch manuell über den Obsidian-Editor direkt in der täglichen Notiz erfolgen, oder mit dem QuickAdd-Plugin bewerkstelligt werden.

Kurzbefehl-Quellcode, Teil 6: Neue tägliche Notiz anlegen

Zum Abschluss muss die neue angelegte tägliche Notiz noch gespeichert werden. Dazu wird zuerst die Kurzbefehlsfunktion Namen konfigurieren genutzt, um den Text aus der Vorlage auf den Dateinamen der neuen täglichen Notiz einzustellen und anschließend mit der Funktion Datei sichern die neue tägliche Notiz im Obsidian-Vault im Ordner Logbuch und dort im Unterordner für das jeweilige Jahr gespeichert.

Fazit

Natürlich kann man die tägliche Notiz auch mit dem eingebauten Obsidian-Plugin und einer Vorlage dafür erstellen und den Tagesplan dann von Hand dort eintragen. Allerdings ist es deutlich effizienter und wesentlich bequemer, wenn man derartige Routinetätigkeiten automatisiert. Am Mac und auf dem iPad, sowie dem iPhone bieten sich zu diesem Zweck die Siri-Kurzbefehle an. Sie sind kostenlos und bereits in die Betriebssysteme macOS und i(Pad)OS integriert. Ich nutze den Kurzbefehl für die tägliche Notiz täglich und habe dafür die Tastenkombination ⌃⌥⌘T angelegt, mit der sich der Kurzbefehl am Mac dank Hyperkey noch einfacher mit ⇪T starten lässt.

Der Kurzbefehl Tägliche Notiz kann unter diesem Link heruntergeladen werden. Wie eingangs bereits erwähnt, wurde der Kurzbefehl für Obsidian mit iCloud-Sync entwickelt und sowohl unter macOS 14 (Sonoma), als auch unter i(Pad)OS 17 getestet bzw. eingesetzt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.